我们正在尝试安装几个自己编写的 python3 应用程序,共享一些版本冲突的库。
我们目前正在讨论在 PYTHONPATH 和/或 python 虚拟环境中使用包的顺序。
你会如何处理这件事?
我已经构建了一个安装 kwikapi==0.4.5 和 requests==2.22.0 的 python 模块。但是 kwikapi 有 requests==2.18.4。
现在,当我安装并运行我的包时,出现错误pkg_resources.ContextualVersionConflict: (requests 2.22.0 (/tmp/test_vir3.7/lib/python3.7/site-packages), Requirement.parse('requests==2.18.4'), {'kwikapi'})。
现在,如果我安装 requests==2.18.4(pip install requests==2.18.4) 并运行,那么错误是pkg_resources.DistributionNotFound: The 'requests==2.22.0' distribution was not found and is required by my-pack.
我可以使用 2.18.4 而不是 2.22.0 请求来解决这个问题。但是如果我在请求和 kwikapi 中都有不同版本的相同模块,这个问题就会再次出现。
有没有办法忽略/解决这个错误?
设置/重现
Module structure
.
??? my_pack
? ??? __init__.py
??? setup.py
Run Code Online (Sandbox Code Playgroud)
setup.py
.
??? my_pack
? ??? __init__.py
??? setup.py
Run Code Online (Sandbox Code Playgroud)
__init__.py
from setuptools import setup, find_packages
version = "0.0.1"
setup(
name="my_pack",
packages=find_packages("."),
package_dir={"my_pack": "my_pack"},
include_package_data=True,
install_requires=[ …Run Code Online (Sandbox Code Playgroud)