I have a codebase which needs a specific version of a module. I also have another tool which I use, which uses a different version of the module. I am trying to get these two codebases to play well with eachother.
For example: Codebase A requires foomodule==1.2 and Codebase B requires foomodule==2.0
How do I install Codebase A using pip (so via setup.py) so that it doesn't overwrite foomodule==2.0
setup.py
setup_options = dict(
install_requires=['foomodule==1.2']
If I go and manually change the name of foomodule
folder in dist-packages to foomodule1.2
, I can then solve the problem by replacing all occurrences of 'foomodule' in my codebase. But how do I do this programatically during setup.py?
I could potentially Install foomodule into a different location, rename it, and move it to dist-packages. Is there a way to install a required package into a custom location?
Perhaps something like:
setup_options = dict(
install_requires=[('foomodule==1.2', location_of_install)]
)
setup(**setup_options)
new_location = os.join(distutils.sysconfig.get_python_lib(), 'foomodule1.2')
shutil.copyfile(location_of_install, new_location)