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