Michael Foord wrote:
On 18/08/2010 15:34, Neal Becker wrote:
Is there any proposal to accommodate having parallel-installed multiple versions of modules?
You can easily implement such a setup by placing the module versions into a separate dir and then adding the right version dir to you sys.path before test startup.
export PYTHONPATH=mymodule/3.0; python test.py export PYTHONPATH=mymodule/3.1; python test.py
I have client code in multiple projects using version x.y of a C-compiled module A.
I want to test a new version x.z of module A, but all client software needs to be recompiled against the new version. If I just install the module, all the other client software breaks.
I know I could test using virtualenv, but there would be a lot of modules to install into virtualenv to run the tests, so this would be cumbersome. I'd prefer to have multiple version co-exist so I could update projects to the new version at my convenience.
How does this situation happen? I have lots of c++ code using pyublas, which allows c++ code written to the boost::ublas interface to operate on numpy vectors/matrixes. pyublas is built against boost libs. pyublas installs a module, whose purpose is to register conversions.
When I update boost libs, I have to rebuild pyublas and install the updated module. Then rebuild my client software modules. If pyublas is built against a different boost version than my client modules, the conversions will fail.