gpt4 book ai didi

python - virtualenv 模块名称冲突

转载 作者:太空宇宙 更新时间:2023-11-03 15:42:51 26 4
gpt4 key购买 nike

我在 OSX 上有一个非常基本的 virtualenv 设置,其中包含两个软件包:py3dns 和 dnspython。这两个包都有一个 dns 模块(实际上一个是 DNS,另一个是 dns,但在 OSX 上它们是相同的),并且这些模块都有名为 opcode.py 的文件。

虚拟环境将这两个模块安装到 lib/python3.5/site-packages/中,而不是安装到 lib/python3.5/site-packages/#{package} 中,因此这些 opcode.py 文件将覆盖每个模块其他。

这是 virtualenv 的错误(功能吗?)?有办法解决这个问题吗?不幸的是,我无法选择仅使用这些 dns 包之一,因为它们都是通过我需要在项目中使用的其他包间接导入的。任何建议将不胜感激。

最佳答案

您可以指定不同的目标路径https://pip.pypa.io/en/latest/reference/pip_install/#cmdoption-t

您可以像这样安装第二个包:

pip3 install dnspython --target /Users/green/dns

然后在 site-packages 中创建文件 dns.pth,并包含包路径:

/Users/green/dns

并在您的代码中:

from dns.opcode import from_text
from DNS.Opcode import opcodemap

print("ok")

关于python - virtualenv 模块名称冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41988340/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com