Canopy 1.4 update issue for users with both 32- and 64-bit version installed
posted this on April 28, 2014, 16:59
During final testing for Canopy 1.4 we identified an update issue which impacts users running both the 32- and 64-bit versions on the same machine. When you update the first version of Canopy everything should go smoothly. However, if you try to update the second version, it will fail with an "Unexpected Error" dialog window and show this error in the log:
ImportError: No module named repair_broken_egg_info
Canopy 1.4 includes a migration script that resolves an issue with egg installation in Canopy 1.3 on 64-bit Windows system. Unfortunately, this migration script is specific to 1.4 and, when present, is incorrectly triggered by the pre-1.4 version of Canopy and fails. Fortunately, there is a straightforward workaround.
First, go ahead and update one version (32- or 64-bit) of Canopy as normal. On Windows it will install version 1.3.1 and then perform the main update to 1.4; on Linux and Mac OS the update should proceed from 1.3 directly to 1.4. When this first update has completed and the version of Canopy is 1.4 you are almost ready to update the other instance of Canopy. To work around the problem described above simply close all Canopy instances and delete the following directory:
Linux, Mac OS: ~/.canopy/migrations
Now start your second version of Canopy and go through the update process and everything should work as normal.
Oops, I didn't delete the directory and now Canopy doesn't start, now what? If you tried to update before deleting the migrations directory, Canopy may appear to be broken. Never fear, though, it is easy to reset and do it again. Just delete the migrations directory above as before plus the 'System' Python environment in the following directory:
Windows: %LOCALAPPDATA%\Enthought\Canopy\System (Canopy32\System for 32-bit versions)
Linux: ~/Enthought/Canopy/System (Canopy32/System for 32-bit versions)
Mac OS: ~/Library/Enthought/Canopy/System (Canopy32/System for 32-bit versions)
Select the 32- or 64-bit directory based on the version of Canopy which failed during update. When you start this version of Canopy again, it should come up as version 1.3.0 and you should be set to go through the update process as normal.