我剛剛安裝了使用自制軟件的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...