刚才一切正常。我不知道我做了什么惹恼了 virtualenv,但它现在表现得很奇怪。任何帮助表示赞赏。
在制作 virtualenv 时,我使用以下命令:
virtualenv -p /usr/bin/python3 venv
现在我看到我安装的包pip install package
没有被 python 加载。它们由 pip 正确安装到 venv/lib/python3.4/site-packages 目录中,但是我的 virtualenv 中的 python 没有在该目录中查找包。
在 Python 中:
import sys
sys.path
['', '/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu', '/usr/lib/python3.4/lib-dynload', '/usr/local/lib/python3.4/dist-packages', '/usr/lib/python3/dist-packages']
这是错误的!它使用了错误的路径,它至少应该包括
/myhomedir/venv/lib/python3.4/site-packages
所以我可以导入我的包。
实际上,在 Python 中打开了一个 virtualenv:
import sys
sys.path.append("/myhomedir/venv/lib/python3.4/site-packages")
import package
作品!!
但我不想每次使用 Python 时都必须手动附加此路径。我做了一些事情让 sys.path 很生气,我不知道那是什么。
我只是 sudo apt-get updated 和 sudo apt-get upgrade 以确保它不是冲突......没有骰子。
可能相关:
我注意到我的 virtualenv 命令输出以下行:
Using base prefix '/usr'
我不记得以前发生过这种情况。但是,即使我这样做virtualenv venv
,(没有指定 Python 版本,并且没有出现该输出)我的 sys.path 仍然是错误的并且包不加载。
任何人的想法?非常感谢您的帮助。