python - 忽略 pkg_resources.ContextualVersionConflict
问题描述
我已经构建了一个安装 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
setup.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=[
"kwikapi==0.4.5",
"requests==2.22.0"
],
entry_points={"console_scripts": ["my_pack = my_pack:main"]},
)
__init__.py
def main():
print("Hey! I ran")
Create python virtual environment and activate
$ python3.7 -m venv vir
$ source vir/bin/activate
install
# Go to setup.py file location and do
$ pip install .
Run
$ my_pack
解决方案
推荐阅读
- openedge - 如何在智能窗口上设置自动刷新?
- gojs - GoJS:防止在将节点拖动到边界时移动图表
- node.js - 即使账户中存在域,AWS CLI list-domain-names/describe-domain 也会返回空
- cron - Cron 表达式:完成另一个工作后开始工作
- java - Apache lang3 有效,但 Apache lang 无效。为什么?
- c - 在 Mac OS X 上用 C 编译hiredis
- haskell - Haskell中的计时器(Control.Concurrent.Timer):重复执行
- ios - 撤销 .p8 密钥会使现有的 FCM 令牌失效吗?
- django - 创建的网站用于编辑带框架的图像
- fusionauth - Fusionauth ADFS 集成问题