1

OS X Lion(2.7.2)に付属している標準のPythonを使用していますが、4バイトのUnicode文字をより適切に処理するためにUCS-4バージョンを構築したいと考えていました。

すでにpipと、pytz、virtualenv、virtualenvwrapperなどのパッケージをインストールしました。これらはにインストールされてい/Library/Python/2.7/site-packagesます。私$PATH/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/binです。

マシン上で新しいバージョンのPythonをビルドするために(プロジェクト固有の仮想環境の外で、後で説明します)、この記事の指示に従い、でビルドすることができました/usr/local/bin。問題は、新しいbashウィンドウを起動したときに、次のvirtualenvwrapperエラーが発生したことです。

Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named virtualenvwrapper.hook_loader virtualenvwrapper.sh: There was a problem running the initialization hooks. 

If Python could not import the module virtualenvwrapper.hook_loader, check that virtualenv has been installed for VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python and that PATH is set properly.

指示/usr/local/binはファイルの先頭に移動すると言われ/etc/paths、それ以来、私はいくつかの奇妙な問題に気づきました。にpipをインストールしましたが、で/usr/local/bin作業しているので/usr/local/bin、新しくインストールしたpythonのサイトパッケージがにあると想定しました。インストールすると/usr/local/lib/python2.7/site-packagespip freezeまだ何もインストールされていないため、空になっているはずです。ただし、pip freeze古い(OS X)site-packagesフォルダーにインストールされているものは引き続き報告されます。ビルド後の情報は次のとおりです。

$ which python
/usr/local/bin/python
$ which pip
/usr/local/bin/pip
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

pythonパッケージをpipでアンインストールすると、期待どおりに古いsite-packagesフォルダーから削除されます。にインストールするのではなく、再度インストールすると/usr/local/lib/python2.7/site-packages、にインストールされます/Library/Python/2.7/site-packages(再インストールを試みて受信することで確認できますRequirement already satisfied (use --upgrade to upgrade): pytz in /Library/Python/2.7/site-packages )。古いsite-packagesフォルダーへのパスをどのように取得していますか?使用しているPythonインストールの正しい場所にインストールされないのはなぜですか?

宣伝してから他にもいくつか問題/usr/local/binがありますが、これを理解すればどこかに行けると思います。

誰かが何が起こっているのか見ることができますか?さらに情報が必要な場合は、喜んで提供させていただきます。

4

1 に答える 1

1

カスタムPythonインストールをメインとして使用するため、システムpythonからすべての非標準パッケージをアンインストールし、既存のeasy_install.pyが削除されていることを確認することをお勧めします(おそらく手動で削除します)。次に、distributeのdistribute_setup.pyをダウンロードして、新しいインタープリターで実行します。それ以降、すべてが期待どおりに機能するはずです。

于 2012-09-07T20:16:26.570 に答える