思った
import sys
sys.path.append("/home/me/mydir")
私のpythonpathにディレクトリを追加しています
sys.pathを印刷すると、ディレクトリがそこにあります。
次に、新しいコマンドを開きますが、もうありません。
しかし、どういうわけかPythonは、そのディレクトリに保存したモジュールをインポートできません。
私は何を間違えていますか?
.profileを読むか、.bash_profileがトリックを行います。
以下を追加する必要がありますか?
PATH="/Me//Documents/mydir:$PYTHONPATH"
export PATH
動作させるには?
sys.path
への変更は、そのPythonインタープリターの寿命にのみ適用されます。永続的に実行する場合は、PYTHONPATH
環境変数を変更する必要があります。
PYTHONPATH="/Me/Documents/mydir:$PYTHONPATH"
export PYTHONPATH
PATH
は実行可能ファイルのシステムパスであり、完全に独立していることに注意してください。
**上記を~/.bash_profile
で記述し、source ~/.bash_profile
を使用してソースを記述できます
なぜMatthewのソリューションがうまくいかなかったのかはわかりません(OSX10.8を使用しているのかもしれませんし、macportsと関係があるかもしれません)。しかし、~/.profile
のファイルの最後に以下を追加しました
export PYTHONPATH=/path/to/dir:$PYTHONPATH
私のディレクトリは現在pythonpathにあります-
my-macbook:~ aidan$ python
Python 2.7.2 (default, Jun 20 2012, 16:23:33)
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/path/to/dir', ...
そのディレクトリからモジュールをインポートできます。
Mathewの答えは端末python Shellで機能しますが、私の場合はpythonの多くのバージョンがPython2.7.7で置き換えられる前に存在していたため、IDLE Shellでは機能しませんでした。 IDLEの問題の解決方法。
cd /Applications/Python\ 2.7/IDLE.app/Contents/Resources/
Sudo nano idlemain.py
、必要に応じてパスワードを入力します。os.chdir(os.path.expanduser('~/Documents'))
この行の後に、sys.path.append("/Users/admin/Downloads....")
を追加しました注:引用符の内容を、pythonモジュールを追加するディレクトリに置き換えます$ PYTHONPATH環境変数を設定しても、Mac上のSpyder IDEのiPython端末には影響がないようです。ただし、Spyderのアプリケーションメニューには「PYTHONPATHマネージャー」が含まれています。ここにパスを追加すると、問題が解決しました。 「PYTHONPATHマネージャー」は、アプリケーションの再起動後も持続します。
これはMacに固有です。WindowsPCでPYTHONPATH環境変数を設定すると、SpyderでPYTHONPATHマネージャーを使用せずに予期される動作(モジュールが見つかった)が得られるためです。