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 Greg Couch, 5 years ago

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.

comment:2 by pett, 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 Greg Couch, 5 years ago

Resolution: fixed
Status: assignedclosed

Needed to create the "user" site-packages/chimerax namespace directory early so live pip installs into it are found.

Note: See TracTickets for help on using tickets.