私は主に Python と OSX の経験が浅いために問題を抱えており、すべてがどのように機能するかを理解しようとしています。
最終的な目標は、このモジュールを実行することです: http://pypi.python.org/pypi/memory_profiler、モジュールが見つからないことを除いて。
手始めに、easy_installを実行し、すべてが正常にインストールされました。
easy_install -U memory_profiler # pip install -U memory_profiler
次に、ボールを転がすためだけに example.py ファイルを作成しました。
@profile
def my_func():
return 2
if __name__ == '__main__':
my_func()
実行しようとしましたが、次のエラーが発生しました。
$ python example.py
Traceback (most recent call last):
File "example.py", line 2, in <module>
@profile
NameError: name 'profile' is not defined
これは memory_profiler モジュールに関する質問ではありませんが、何が間違っていて、正しく構成されていないのでしょうか? Python 2.7 で OSX 10.8.2 を使用しています。
これは私の「どのpython」が述べていることです:
/Library/Frameworks/Python.framework/Versions/Current/bin/python
これはシンボリック リンクであるため、元のリンクに移動すると、次のようになります。
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
私が混乱しているのは、easy_install が memory_profiler.py ファイルをこのフォルダーに正しく配置したことです。
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
そして、Pythonが実行されると、PYTHONPATHとサイトパッケージでモジュールがチェックされることを理解しています。(??)
しかし、モジュールが site-packages フォルダーにある場合、example.py が機能しないのはなぜですか? また、site-packages フォルダー内のモジュールがパスの一部である必要がある場合、少なくとも memory_profiler.py を実行して Python によって実行されるかどうかを確認できると考えましたが、代わりに次のエラーが発生しました。
python memory_profiler.py
/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python:
can't open file 'memory_profiler.py': [Errno 2] No such file or directory
Python が ../2.7/Resources/Python.app/Contents/MacOS/Python にあると述べているため、これも私を混乱させます。 ../2.7/lib/python2.7/site-packages で memory_profiler.py ファイルをチェックしていませんか?
また、これらのフォルダーが両方とも存在するのはなぜですか? また、その違いは何ですか?
/System/Library/Frameworks/Python.framework
/Library/Frameworks/Python.framework
パズルの大きなピースが欠けているので、正しい方向を示すための助けをいただければ幸いです。
アップデート:
私は除外していました:
from memory_profiler import profiler
おそらく私のボーンヘッドの問題のほとんどですが、今では次のエラーが発生します。
Traceback (most recent call last):
File "example.py", line 1, in <module>
from memory_profiler import profiler
ImportError: cannot import name profiler