簡體   English   中英

在Mac上安裝pip和sudo

[英]pip install and sudo on mac

我想重新安裝virtualenv。 我成功地做到了:

pip uninstall virtualenv

然后重新安裝我嘗試:

pip install virtualenv

導致錯誤的錯誤: error: /lib/python2.7/site-packages/virtualenv.py: Permission denied

所以我嘗試了:

sudo pip install virtualenv

導致錯誤:

Traceback (most recent call last):
  File "/usr/local/bin/pip", line 5, in <module>
     from pkg_resources import load_entry_point
ImportError: No module named pkg_resources

Q1:為什么須藤會導致這樣的問題? 我讀到此錯誤是由於沒有正確安裝setuptools引起的。 但是為什么只使用sudo命令呢? 這會導致python在其他地方尋找其資源嗎?

有關我的設置的一些詳細信息:

我在MacOS 10.9.4上。

我不確定為什么,但是我似乎在兩個位置設置了python:

  1. 在/ usr / local / lib目錄/
    • /usr/local/lib/python2.7/
    • /usr/local/lib/python3.3/
  2. / lib目錄
    • /lib/python2.7/
    • /lib/python3.3/

Q2:為什么兩個位置? 據我所知,pip和pip3在第二個位置安裝了東西。 也許我有太多版本的python在運行?

這是從交互式python控制台打印的sys.path:

['',
 '/lib/python2.7/site-packages/setuptools-5.4.1-py2.7.egg',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.4.1-py2.7.egg',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Sphinx-1.2.2-py2.7.egg',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Jinja2-2.7.2-py2.7.egg',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/docutils-0.11-py2.7.egg',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Pygments-1.6-py2.7.egg',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/MarkupSafe-0.23-py2.7-macosx-10.9-x86_64.egg',
 '/usr/local/lib/python2.7/site-packages/pip-1.4.1-py2.7.egg',
 '/usr/local/lib/python2.7/site-packages/Sphinx-1.2.2-py2.7.egg',
 '/usr/local/lib/python2.7/site-packages/Jinja2-2.7.2-py2.7.egg',
 '/usr/local/lib/python2.7/site-packages/docutils-0.11-py2.7.egg',
 '/usr/local/lib/python2.7/site-packages/Pygments-1.6-py2.7.egg',
 '/usr/local/lib/python2.7/site-packages/MarkupSafe-0.23-py2.7-macosx-10.9-x86_64.egg',
 '/lib/python2.7/site-packages',
 '/lib/python2.3/site-packages',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
 '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
 '/Users/david/Library/Python/2.7/lib/python/site-packages',
 '/Library/Python/2.7/site-packages',
 '/usr/local/lib/python2.7/site-packages',
 '/lib/python2.3/site-packages']

雖然我不確定我是否確切地理解了最初問題的根源(不知道問題的答案),但確實通過卸載/取消與Homebrew的Python鏈接來解決此問題,然后按照教程進行了設置。 我得到的主要課程是:

  • Mac隨附已安裝的python版本。 這就是為什么/lib有python安裝的原因。 我還用Homebrew安裝了python,它在/usr/local/lib/創建了第二個安裝。 過了一會兒,我不小心自己在使用/安裝軟件包來跟上我的進度。
  • virtualenv是一種將版本和依賴項需求本地化和隔離到各個項目的簡便方法。 我推遲使用它是因為我認為它可能很復雜,但是事實並非如此,它可能會為我省去麻煩。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM