我要编辑什么文件,如何编辑? 我创建了一个虚拟环境。
这里已经有答案了-> 我的虚拟环境(python)是否导致我的 Python 路径中断?
将“ export PYTHONPATH =/usr/local/lib/python2.0”添加到 ~/. bashrc 文件中,并通过键入“ source ~/. bashrc”OR“ . ~/. bashrc”为其提供源代码。
1)转到控制面板 2)双击系统 3)进入高级选项卡 4)点击环境变量
在“系统变量”窗口中,检查是否有名为 PYTHONPATH 的变量。如果您已经有一个,请检查它是否指向正确的目录。如果您还没有这样的按钮,请单击 New 按钮并创建它。
或者,您也可以在代码下面执行:-
import sys sys.path.append("/home/me/mypy")
这个问题最优雅的解决方案是 给你。
最初的答案仍然存在,但这是一个混乱的解决方案:
如果你想改变一个 viralenv 中使用的 PYTHONPATH,你可以在你的 viralenv 的 bin/activate文件中添加以下代码:
PYTHONPATH
bin/activate
export PYTHONPATH="/the/path/you/want"
这样,每次使用这个 viralenv 时都会设置新的 PYTHONPATH。
编辑: < em > (回应@RamRachum 的评论)
要将其恢复到 deactivate上的原始值,可以添加
deactivate
export OLD_PYTHONPATH="$PYTHONPATH"
在前面提到的行之前,并将以下行添加到您的 bin/postdeactivate脚本中。
bin/postdeactivate
export PYTHONPATH="$OLD_PYTHONPATH"
@ s29的评论应该是一个答案:
向虚拟环境添加目录的一种方法是安装 viralenvwrapper (这对许多事情都很有用) ,然后执行
mkvirtualenv myenv workon myenv add2virtualenv . #for current directory add2virtualenv ~/my/path
如果要删除这些路径,请编辑文件 myenvhomedir/lib/python2.7/site-packages/_virtualenv_path_extensions.pth
myenvhomedir/lib/python2.7/site-packages/_virtualenv_path_extensions.pth
有关 viralenvwrapper 的文档可以在 http://virtualenvwrapper.readthedocs.org/en/latest/找到
关于这个特性的具体文档可以在 Http://virtualenvwrapper.readthedocs.org/en/latest/command_ref.html?highlight=add2virtualenv
我修改了我的激活脚本来源于文件 .virtualenvrc,如果它存在于工作目录中,并且在激活/停用时保存/恢复 PYTHONPATH。
.virtualenvrc
你可以在这里找到修补过的 activate脚本。 ,它是由 viralenv 1.11.6创建的激活脚本的替代品。
activate
然后我在我的 .virtualenvrc中加入了这样的内容:
export PYTHONPATH="${PYTHONPATH:+$PYTHONPATH:}/some/library/path"
cd venv source bin/activate
export PYTHONPATH='/home/django/srmvenv/lib/python3.4'
python \>\> import sys \>\> sys.path
您可以创建一个包含要搜索的目录的 .pth文件,并将其放在 {venv-root}/lib/{python-version}/site-packages目录中。例如:
.pth
{venv-root}/lib/{python-version}/site-packages
cd $(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") echo /some/library/path > some-library.pth
其效果与将 /some/library/path添加到 sys.path相同,并保持在 virtualenv设置的本地。
/some/library/path
sys.path
virtualenv