簡體   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