3

私は Xcode、OS X、および python モジュールのインストールにかなり慣れていないということから始めましょう。

プロジェクトをビルドしようとすると、XCode から Python モジュールが見つからないというメッセージが表示されます。

  File "/Users/some_user/some_folder/create.py", line 2, in <module> 
    from peak.rules import abstract, when
ImportError: No module named peak.rules
Command /bin/bash failed with exit code 1

Pythonモジュールをインストールしましたが、正しくインストールされていると表示されています。python2.7/site-packages/ディレクトリに存在することを確認できます。またwhich python、 を/Library/Frameworks/Python.framework/Versions/2.7/bin/python実行して、python がサイト パッケージの python install パスを使用していることを確認しました/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/。私は自分のマシンを検索しましたが、私が認識している python の別のインストールはありません。モジュールのインストール後に Xcode を再起動しましたが、違いはありませんでした。PYTHONPATHで指定されたパスと同じパスで指定された site-packages ディレクトリにも設定しますwhich python

問題に関する私の最善の推測は、私がPYTHONPATH正しく定義していないということです。これが私の.bash_profileファイル全体です。

# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH

PYTHONPATH="$ {PYTHONPATH} : /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages"
export PYTHONPATH
4

2 に答える 2

3

の値は、実行する実行可能ファイルをPYTHONPATH示していません。むしろ、インポート操作中に実行可能ファイルがモジュールを探すpythonディレクトリを拡張する方法です。pythonAppleはOSXを搭載したPythonのバージョンを出荷しています。それらの通訳者へのパスはにあり/usr/binます。トレースバック(/Library/Frameworks)のパスから、新しいPython 2.7がインストールされているようです。おそらく、python.orgからダウンロードされています。デフォルトでは、そのpythonにはおそらく/usr/local/bin;にインストールされているシンボリックリンクがあります。その正規binディレクトリはフレームワークのにあり/Library/Frameworks/Python.framework/Versions/2.7/binます。あなたのシェルパスの間、$PATH、検索パスの前にそのbinディレクトリを含めるように設定されている可能性があります。これにより、新しいpythonがシェルで検出され、Xcodeでは機能しない可能性があります。つまり、Xcodeは、インストールした新しいPythonではなく、システムPythonを使用しています。Xcodeプロジェクトのいくつかの変数を変更して、そのパスが最初にそのPythonを検索するようにする(またはインタープリターへの絶対パスを使用する)必要があります。PYTHONPATHを指す環境変数を削除する必要がありますsite-library。デフォルトでは、各Pythonは自動的にそのを検索しsite-libraryます。詳細については、こちらをご覧ください。

更新:ここでより基本的な問題が発生する可能性があります。私は経験がありませんPEAKPEAK-rules、PythonPackageIndexに2つの別々のディストリビューションがリストされていることに注意してください。PEAKルールのみを使用する場合は、PyPIにリストされているPEAKルールではなく PEAKルールディストリビューションのみをインストールする必要があるようです。システムPythonで使用するには、次のことを試してください。

umask 022
sudo /usr/bin/easy_install-2.7 -m peak     # "uninstall" peak if installed
sudo /usr/bin/easy_install-2.7 peak-rules  # install peak-rules

新しい非システムPythonを使用する場合は、easy_install(google for PyPI distribute)またはそのコピーをインストールして使用するだけpipです。

于 2012-08-18T04:46:16.610 に答える
0

OS X 10.9 から 10.10 に移行したときに、同様の問題が発生しました。苦労の末、Python には 2 つのバージョンがあり、古いバージョンを使用していることがわかりました。ターミナルで「which python」と入力し、フォルダーを Xcode にコピーしました。

これで問題は奇跡的に消えました。確認してください、これでうまくいきます...!

于 2014-12-21T00:23:10.547 に答える