virtualenv模块名confli

2024-06-02 04:33:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我在OSX上有一个非常基本的virtualenv设置,有两个包py3dns和dnspython。两个包都有一个dns模块(实际上一个是dns,另一个是dns,但在OSX上它们是相同的),并且这些模块都有名为操作码.py. 你知道吗

virtualenv正在将这两个模块安装到lib/python3.5/site-packages/中,而不是安装到lib/python3.5/site-packages/#{package}中,因此操作码.py文件正在相互覆盖。你知道吗

这是一个bug(功能?)虚拟世界?有什么办法吗?不幸的是,我不能选择只使用其中一个dns包,因为它们都是通过我需要在我的项目中使用的其他包间接导入的。如有任何建议,将不胜感激。你知道吗


Tags: 模块文件py功能packagevirtualenvdnslib
1条回答
网友
1楼 · 发布于 2024-06-02 04:33:35

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

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

pip3 install dnspython  target /Users/green/dns

然后创建文件域名系统.pth带包路径的站点内包:

/Users/green/dns

在你的代码里:

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

print("ok")

相关问题 更多 >