2016-04-14 19 views
0

私は、Mac OSX 10.11.4でPython 3.4のインストールに非常に基本的な問題があります。私は自分の.bash_profileにPYTHONPATHを設定しています。パスは端末からPythonを実行しているときに見つけられ、sysをインポートして端末のsys.pathを調べると、私の予想されるパスが見えます。Mac OSX上でIDLEとPYTHONPATHが動作しない

しかし、IDLEを読み込んでパスブラウザを見ると、PYTHONPATHエントリはsys.pathになく、私のコードは実行されません。 IDLEのsys.pathに追加するコードを追加する方法についてはいくつかの記事がありますが、それはやりたくないハックです。 IDLEにPYTHONPATHエントリをsys.pathに読み込ませるにはどうすればよいですか?

さらに詳しい情報:Windowsでは、PYTHONPATH環境を可変に設定して、パスが期待通りに表示されます。

これはOSLEのIDLEの基本的な問題ですか、それともインストール時に何かがうんざりしていますか?

+1

ランドパッドからIDLEを実行していますか? bashから実行しない限り、.bash_profileで設定された環境変数を継承しません。 – cdarke

+0

ありがとう、それは私の質問に答える。 IDLEアイコンをクリックして実行していました。 bashから実行する私は本当にパスを参照してください。 –

+0

参照http://stackoverflow.com/questions/135688/setting-environment-variables-in-os-x – cdarke

答えて

0

この動作の理由は、環境変数のスコープが異なるためです。 .bash_profileで設定した変数は、端末を開いて新しいbashセッションを開始した場合にのみロードされます。しかし、IDLEをクリックすると環境変数が変わります。これは、端末経由でIDLEに電話をかけたときに機能する理由です。このようにして、すべての環境変数が開始するプロセスに渡されます。ターミナル

  • の変化から

    1. 常にオープンIDLE GUIを介して開始されているすべてのアプリケーションのための環境変数:

      は、少なくとも二つの解決策があります。これは/etc/launchhd.confを編集することで可能です(Ubuntuでは~/.profileを変更します)。 hereをご覧ください。しかし、私が正しく覚えている場合、これはスポットライトを介してアプリを開くためには機能しません。