我有一个 pytest 测试,我们称它为 test.py
。我曾经在 virtualenv 之外运行这个测试;现在我正尝试在 virtualenv 沙箱中运行它。
项目结构如下:
~/project/test # where test.py and all virtualenv files live
~/project/mylibrary
test.py
从 mylibrary
导入。过去,这是有效的,因为我将 ~/project/mylibrary
中的代码安装到 /usr/lib/python2.7/dist-packages/mylibrary
中。
我无法使用 --system-site-packages
标志运行 virtualenv。我也无法将代码从 ~/project/mylibrary
移动到 ~/project/test
文件夹中。我怎样才能访问我的 virtualenv 中 mylibrary 中的代码?
最佳答案
你不需要做任何特别的事情 - 只要你在 virtualenv 中工作,python setup.py install
会自动将包安装到
$VIRTUAL_ENV/lib/python2.7/site-packages
而不是你的系统范围
/usr/lib/python2.7/dist-packages
目录。
一般来说,最好使用pip install mylibrary/
,因为这样你就可以使用pip uninstall mylibrary
巧妙地卸载包。
如果您正在安装您正在开发的某些代码的工作副本,最好将它安装在 "editable" mode 中。使用 pip install -e mylibrary/
,它会创建一个指向您的源目录的链接,以便您安装的模块在您编辑代码时得到更新。
关于python - 将本地 dist 包安装到 virtualenv 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34622406/