如何解决虚拟环境中的Python site.getsitepackages显示两条路径,我可以删除非虚拟环境一条路径吗?
与其他一些文章一样,我遇到一个问题,即在虚拟环境中运行时,python 3.6.5无法识别我使用pip(ImportError: No module named Levenshtein
)安装的软件包;例如here,here和here。在正常和虚拟环境中,当我分别调用python-Levenshtein 0.12.0
和pip freeze
时,都会显示有问题的软件包(pip3 freeze
。
在上述页面上给出的一些答案之后,看来我的问题是由于以下事实导致的:虚拟环境内部存在多个通往Levenshtein软件包的途径。供参考:
python3 -m venv ~/.virtualenvs/myvenv
source ~/.virtualenvs/myvenv/bin/activate
python3
import sys,site
sys.prefix
'/Users/<home directory>/.virtualenvs/myvenv'
print(site.getsitepackages())
['/Users/<home directory>/.virtualenvs/myvenv/lib/python3.6/site-packages','/Library/Python/3.6/site-packages']
所以,我想我的问题有两个:
-
site.getsitepackages()
是否有一个以上的结果(很可能是导致软件包在虚拟环境中无法识别的原因)? - 如果是,我如何删除非虚拟环境路径/重置虚拟环境的路径?
在此先感谢您的帮助,
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。