Opened 5 years ago
Closed 5 years ago
#3666 closed defect (fixed)
Installed bundle not used until restart
Reported by: | pett | Owned by: | Greg Couch |
---|---|---|---|
Priority: | blocker | Milestone: | 1.1 |
Component: | Tool Shed | Version: | |
Keywords: | Cc: | Tom Goddard | |
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
After installing the BlastProtein bundle from the toolshed (and never having run BlastProtein in that ChimeraX), subsequently running BlastProtein clearly used the old code. After quitting and restarting, the new code was used.
AFAIK, a restart should not be necessary. Looking at sys.modules, the blastprotein module had not been imported. If a restart is in fact always necessary, the Updates dialog needs to say so.
Change History (3)
comment:1 by , 5 years ago
comment:2 by , 5 years ago
If I blow away the 1.1 bundle directory and start the release candidate (pointed at preview), I can install the bundle and the 1.1 bundle dir is at the front of sys.path and everything works fine.
If I blow away both the 1.1 bundle dir and the 1.1 toolshed caches, start the candidate, blah, blah, blah, it works the way it did originally -- running the old code after installation despite the 1.1 bundle dir being at the front of sys.path. There is a startup message of "available bundle cache has not been initialized yet".
You can do this yourself you know. The old blast code shows a bunch of PDB-info-fetching status progress messages after the blast job itself finishes, the new code does not (there is only one fetch). You could use any structure. I used 1www.
comment:3 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Needed to create the "user" site-packages/chimerax namespace directory early so live pip installs into it are found.
Thinking out load, I wonder if the directory for the user-installed bundles didn't exist when ChimeraX first started, so when BlastProtein was installed, the directory wasn't in sys.path. Can't explain this otherwise.
If chimerax.blastprotein had been in sys.modules, you would have been prompted to restart ChimeraX.