In Canopy 1.2 and earlier, the Package Manager will sometimes show available updates to Python packages but not provide an option to install the update. This issue only impacts some packages, but not others, and occurs when a package is installed in the Canopy User Python environment and then that package is updated in Canopy's core installation via a Canopy update. The Package Manager finds both versions and incorrectly does not offer the "install" button.
This issue is corrected in Canopy 1.3; updating to Canopy 1.3 is the recommended means of fixing this problem. Users of earlier versions of Canopy can uninstall the affected package, thus exposing the correct version from the core install. However, this will have the side-effect of making future updates to this package in the Canopy core visible to user code. This may or may not be a desirable side effect.
For users of Canopy 1.2, a workaround is provided in this article.