繁体   English   中英

为什么pip会在我的虚拟环境之外安装一个包?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM