Homebrew を使用して Python をインストールしました。コマンドを使用しましたbrew install python
(前提条件であるXQuartzをインストールした後)。
このページ - https://github.com/mxcl/homebrew/wiki/Homebrew-and-Python - は次のことを教えてくれます:
問題
標準の Homebrew インストールを想定すると、Prefix は に
/usr/local
なり、Cellar は になります/usr/local/Cellar
。Homebrew は、標準の を使用して Python を Cellar にインストールします
./configure --prefix=#{prefix}
。これにより、次が設定されます。
- 「site-packages」フォルダーを
/usr/local/Cellar/python/2.7.3/lib/python2.7/site-packages
.- 「install-scripts」フォルダーを
/usr/local/Cellar/python/2.7.3/bin
.サイト パッケージが Python の Cellar にある場合、ユーザーがインストールしたパッケージは Python の更新の間に消去されます。install-scripts についても同様ですが、ユーザーが手動で Python の cellar bin フォルダーをパスに追加する必要があるという追加の問題があります。
解決
Homebrew は、これらの問題に対処するために、インストール時に 2 つのアクションを実行します。
最初に、Cellar サイト パッケージ フォルダーが削除さ
/usr/local/lib/python2.7/site-packages
れ、プレフィックス内の へのシンボリック リンクが作成されます。Homebrew は、ユーザーがインストール可能なライブラリに lib を使用する一部の言語に対して特別な処理を行うため、これにより、Python の更新間でサイト パッケージを永続化できます。次に、
distutils.cfg
install-scripts フォルダーを に設定するファイルが書き込まれます/usr/local/share/python
。ユーザーは に追加/usr/local/share/python
して、PATH
インストールされたスクリプトを取得できます。
私が理解できないのは、「Cellar サイト パッケージ フォルダーが削除さ
/usr/local/lib/python2.7/site-packages
れ、プレフィックス内のシンボリック リンクが作成される」という行です。「プレフィックス」(「/usr/local」であることがわかります)を見ると、シンボリックリンクが表示されません。参照されているこのシンボリックリンクはどこですか?
私が混乱している理由の 1 つは、実行するpip install virtualenvwrapper
と次のような出力が得られることです。/Library/Python/2.7/site-packages
このディレクトリがどこから来たのか、なぜ参照されるのかわかりません。
そうは言ってpip install virtualenvwrapper
も、問題なく終了するようで、sudo は必要ありません。これは、Homebrew を使用したインストールの利点の 1 つになるはずです。の出力全体pip install virtualenvwrapper
は次のとおりです。
virtualenvwrapper のダウンロード/解凍 パッケージ virtualenvwrapper の setup.py egg_info の実行 virtualenv のダウンロード/解凍 (virtualenvwrapper から) virtualenv-1.8.2.tar.gz (2.2MB) のダウンロード: 2.2MB をダウンロード ./Library/Caches/pip-downloads/http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fv%2Fvirtualenv%2Fvirtualenv-1.8.2.tar.gz のキャッシュにダウンロードを保存しています パッケージ virtualenv の setup.py egg_info の実行 警告: ディレクトリ 'docs/_templates' の下に '*' に一致する以前に含まれていたファイルが見つかりませんでした 警告: ディレクトリ 'docs/_build' の下に '*' に一致する以前に含まれていたファイルが見つかりませんでした 要件はすでに満たされています (アップグレードするには --upgrade を使用します): virtualenv-clone in /Library/Python/2.7/site-packages (virtualenvwrapper から) 要件はすでに満たされています (アップグレードするには --upgrade を使用します): /Library/Python/2.7/site-packages の stevedore (virtualenvwrapper から) 要件はすでに満たされています (アップグレードするには --upgrade を使用します): /usr/local/lib/python2.7/site-packages/distribute-0.6.28-py2.7.egg に配布します (stevedore->virtualenvwrapper から) 収集したパッケージのインストール: virtualenvwrapper、virtualenv virtualenvwrapper の setup.py install の実行 /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenvwrapper/__init__.py (名前空間パッケージ) のインストールをスキップする /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 のインストール /usr/local/share/python/virtualenvwrapper.sh のモードを 755 に変更する /usr/local/share/python/virtualenvwrapper_lazy.sh のモードを 755 に変更する virtualenv の setup.py install の実行 警告: ディレクトリ 'docs/_templates' の下に '*' に一致する以前に含まれていたファイルが見つかりませんでした 警告: ディレクトリ 'docs/_build' の下に '*' に一致する以前に含まれていたファイルが見つかりませんでした /usr/local/share/python への virtualenv スクリプトのインストール /usr/local/share/python への virtualenv-2.7 スクリプトのインストール virtualenvwrapper virtualenv が正常にインストールされました 清掃...