[英]Why does pip installs a package outside my virtual environment?
在做完虚拟环境的源代码之后我试试
pip install -U --no-deps django-social-auth
它返回:
OSError: [Errno 13] Permission denied: '/usr/local/lib/python2.6/dist-packages/django_social_auth-0.6.9-py2.6.egg-info/dependency_links.txt'
为什么要在virtualenv之外写作?
当我重命名包含我的虚拟环境的目录时,我遇到了这个问题。 硬路径点使用不再正确。
更新pip脚本中的shebang以指向虚拟环境的python可执行文件。
在我看来,要么你正在执行一个不属于virtualenv的pip,要么你是,但是被执行的python解释器不是virtualenv的一部分。 检查你正在执行的pip是否是正确的which pip
,并使用your_envdir/bin/python pip <arguments>
强制来自virtualenv的your_envdir/bin/python pip <arguments>
,而不是仅调用plain pip。
这很奇怪,因为如果你用bin / activate正确激活环境,你应该得到正确的点子。 你确定你激活了吗. bin/activate
. bin/activate
,而不是sh bin/activate
? 他们是两个不同的东西。 提示改变了吗?
你可能应该确保你从你的虚拟环境中获得点数,所以...... 喜欢
./env/bin/pip install -U --no-deps django-social-auth
当我错误地在~/.bashrc
错误地设置PYTHONPATH
时遇到了这个问题。 如果echo $PYTHONPATH
返回预期环境之外的任何内容,请使用export PYTHONPATH=''
删除它,并检查~/.bashrc
中的PYTHONPATH
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.