我有一个需要特定版本模块的代码库。我还有另一个使用的工具,它使用不同版本的模块。我试图让这两个代码库相互配合。
例如: 代码库A需要foomodule == 1.2而Codebase B需要foomodule == 2.0
如何使用pip安装Codebase A(通过setup.py),以便它不会覆盖foomodule == 2.0
setup.py
setup_options = dict(
install_requires=['foomodule==1.2']
如果我去手动将dist-packages中foomodule
文件夹的名称更改为foomodule1.2
,我可以通过替换所有出现的' foomodule'来解决问题。在我的代码库中。但是如何在setup.py期间以编程方式执行此操作?
我可以将foomodule安装到不同的位置,重命名,并将其移动到dist-packages。 有没有办法将所需的软件包安装到自定义位置?
也许是这样的:
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)