python setup.py更改要求模块名称

时间:2014-10-09 17:40:18

标签: python pip

我有一个需要特定版本模块的代码库。我还有另一个使用的工具,它使用不同版本的模块。我试图让这两个代码库相互配合。

例如: 代码库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)

0 个答案:

没有答案