我有一个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中的代码?
答案 0 :(得分:4)
您不需要做任何特别的事情 - 只要您在virtualenv中工作,python setup.py install
会自动将软件包安装到
$VIRTUAL_ENV/lib/python2.7/site-packages
而不是你的系统范围
/usr/lib/python2.7/dist-packages
。目录
一般来说,使用pip install mylibrary/
会更好,因为这样您可以使用pip uninstall mylibrary
整齐地卸载软件包。
如果您要安装正在开发的某些代码的工作副本,最好使用pip install -e mylibrary/
在"editable" mode中安装它,这会创建一个链接到源目录,以便在编辑代码时更新已安装的模块。
答案 1 :(得分:-2)
最简单的方法是将包含该库的目录添加到sys.path