2012-10-21 39 views
4

我剛剛安裝了使用自制軟件的Python。我使用了命令brew install python(安裝XQuartz後,這是一個先決條件)。我不明白我通過自制軟件安裝Python

本頁面 - https://github.com/mxcl/homebrew/wiki/Homebrew-and-Python - 告訴我下面的:

問題

假設一個標準的家釀安裝,前綴將 /usr/local和酒窖將/usr/local/Cellar

Homebrew將Python安裝到Cellar,使用標準./configure --prefix=#{prefix}

此設置:

  • 的 「站點包」 文件夾作爲 /usr/local/Cellar/python/2.7.3/lib/python2.7/site-packages
  • 「安裝腳本」文件夾爲/usr/local/Cellar/python/2.7.3/bin

如果site-packages存在於Python的Cellar中,那麼用戶安裝的軟件包 將在Python更新之間被擦除。與安裝腳本相同, 還有一個額外的問題,即用戶必須手動將Python的cellar bin 文件夾添加到路徑中。

解決方案

家釀進行安裝,以解決這些問題 兩個動作。

  • 首先,酒窖站點包文件夾被刪除,並創造了前綴一個符號鏈接 /usr/local/lib/python2.7/site-packages。 將允許網站包在Python更新之間保留,因爲 Homebrew對使用lib用於 用戶可安裝庫的某些語言進行了特殊處理。

  • 其次,編寫一個distutils.cfg文件來將安裝腳本 文件夾設置爲/usr/local/share/python。用戶可以將 /usr/local/share/python添加到PATH以獲取已安裝的腳本。

我不明白的是,讀行「的酒窖站點包文件夾被刪除,並且一個符號鏈接 /usr/local/lib/python2.7/site-packages在前綴被創建。」當我查看「前綴」 - 我瞭解的是'/ usr/local' - 我沒有看到符號鏈接。這個被引用的符號鏈接在哪裏?

一個我很困惑的原因是,當我運行pip install virtualenvwrapper我得到的輸出,告訴我:「需求已經滿足:virtualenv中克隆的/Library/Python/2.7/site-packages(從virtualenvwrapper)」 。我不明白/Library/Python/2.7/site-packages目錄的來源以及爲什麼它會被引用。

話雖如此,pip install virtualenvwrapper似乎完成沒有問題,並不需要sudo,我認爲這應該是使用自制軟件的安裝的優勢之一。的pip install virtualenvwrapper整個輸出爲:

 
Downloading/unpacking virtualenvwrapper 
    Running setup.py egg_info for package virtualenvwrapper 

Downloading/unpacking virtualenv (from virtualenvwrapper) 
    Downloading virtualenv-1.8.2.tar.gz (2.2MB): 2.2MB downloaded 
    Storing download in cache at ./Library/Caches/pip-downloads/http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fv%2Fvirtualenv%2Fvirtualenv-1.8.2.tar.gz 
    Running setup.py egg_info for package virtualenv 

    warning: no previously-included files matching '*' found under directory 'docs/_templates' 
    warning: no previously-included files matching '*' found under directory 'docs/_build' 
Requirement already satisfied (use --upgrade to upgrade): virtualenv-clone in /Library/Python/2.7/site-packages (from virtualenvwrapper) 
Requirement already satisfied (use --upgrade to upgrade): stevedore in /Library/Python/2.7/site-packages (from virtualenvwrapper) 
Requirement already satisfied (use --upgrade to upgrade): distribute in /usr/local/lib/python2.7/site-packages/distribute-0.6.28-py2.7.egg (from stevedore->virtualenvwrapper) 
Installing collected packages: virtualenvwrapper, virtualenv 
    Running setup.py install for virtualenvwrapper 

    Skipping installation of /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenvwrapper/__init__.py (namespace package) 
    Installing /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenvwrapper-3.6-py2.7-nspkg.pth 
    changing mode of /usr/local/share/python/virtualenvwrapper.sh to 755 
    changing mode of /usr/local/share/python/virtualenvwrapper_lazy.sh to 755 
    Running setup.py install for virtualenv 

    warning: no previously-included files matching '*' found under directory 'docs/_templates' 
    warning: no previously-included files matching '*' found under directory 'docs/_build' 
    Installing virtualenv script to /usr/local/share/python 
    Installing virtualenv-2.7 script to /usr/local/share/python 
Successfully installed virtualenvwrapper virtualenv 
Cleaning up... 

回答

0

From the updated documentation:

爲Python 2.7.x,你會在/usr/local/lib/python2.7/site-packages找到它。

Python 2.7版還搜索模塊:

/Library/Python/2.7/site-packages

〜/圖書館/ Python的/ 2.7/lib中/蟒蛇/站點包

所以,你可能有一個先前安裝在/ Library/Python2中的軟件包的回聲:7/site-packages

Homebrew最近打了1.0,自從你問這個問題後,很多東西都發生了變化。

相關問題