4

私はこれを2日以上理解しようとして、インターネットとチュートリアルをスクリーニングしましたが、それでも問題は解決していません。私は本当の初心者で、自分が何をしているのかまだよくわかりません。

私が使用しているソフトウェア:Mac OS X 10.6 Python v3.2.2インタラクティブインタープリター(IDLE)

問題:IDLEのデフォルトディレクトリは/ Users / ME /Documents/です。拡張子が.pyのファイルは、このディレクトリにある場合にのみ開くことができます。ただし、このソフトウェアに関連するすべての.pyファイルなどを保存したいフォルダーを作成しました。現在、IDLEは私が選択したディレクトリから.pyファイルをロードできません。

私が最初にしたことは、IDLEに追加したことです:importsys。sys.path.append('Users / Mydir /')sys.path

ただし、2010年の既存のスレッドでは、sys.pathはインタープリター専用であり、これを変更する場合は、PYTHONPATH環境変数を変更する必要があると読みました。

PYTHONPATH = "/ Me / Documents / mydir:$ PYTHONPATH" export PYTHONPATH

ただし、これを使用する方法がわかりません。次の質問に対する回答が見つかりません。1)プログラムをインストールしたときにPYTHONPATH(.py?)がコンピューターに既に存在しますか?はいの場合、どこにありますか?どこにも見つかりません。いいえの場合、作成する必要があります。しかし、IDLEがデフォルト以外のディレクトリからファイルをロードできるようにするには、コンテンツはどこに、何を含める必要がありますか?太字の単語のみを含める必要がありますか?

問題を明確にしたいと思います。

乾杯

4

2 に答える 2

7

が何を意味するのか、私には完全にはわかりませんload。つまり、IDLEエディタ内のファイルを意味する可能性がOpenあります。または、PythonステートメントをClose使用して他のファイルから既存のPythonモジュールをロードできることを意味する場合もあります。import私は後者を仮定します、それはloadあなたが意味することimportです。

MacOSXでIDLEを起動する一般的な方法は2つあります。1つはターミナルセッションのコマンドラインからです。python.orgインストーラーを使用してPython3.2をインストールした場合、デフォルトで入力/usr/local/bin/idle3.2が機能します。もう1つの方法は、IDLE.appから起動/Applications/Python 3.2することです。つまり、アイコンをダブルクリックします。ファイルのデフォルトディレクトリはDocumentsフォルダであると言うので、2番目の方法を使用していると仮定します。これは、現在の作業ディレクトリとしてIDLE.app設定Documentsされ、* Open*sおよび*Save* sのデフォルトディレクトリになり、次のように自動的に追加されるためです。 Pythonの最初のディレクトリ、 ing時にモジュールを検索するために使用するsys.pathディレクトリのリスト。Pythonimport

に他のディレクトリを追加したい場合は、前述のように、環境変数をsys.path使用して追加できます。これを行う標準的な方法は、のような定義をシェル起動スクリプトにPYTHONPATH追加することです。ただし、を使用する場合、シェルは関与しないため、のコマンドは効果がありません。export PYTHONPATH=....bash_profileIDLE.app.bash_profile

OS X GUIアプリの環境変数を変更する方法はいくつかありますが、この場合、より簡単な解決策は、シェルセッションのコマンドラインから、/usr/local/bin/idle3.2またはを実行した場合は、他の方法を使用してIDLEを呼び出すことです。フォルダ内のUpdate Shell Profileコマンド/Applications/Python 3.2(および新しいターミナルセッションを開いた)、ちょうどidle3。次に、設定したPYTHONPATH環境変数がそのIDLEに継承されます。

IDLE.appところで、IDLEのコードを変更するDocuments以外に、の初期の現在の作業ディレクトリを変更する直接的な方法はありません。コマンドラインからIDLEを起動すると、シェルの現在の作業ディレクトリが継承されます。

[更新]しかし、を定義することに騙されるのではなくPYTHONPATH、ここにもう1つのさらに単純で、おそらくより良いアプローチがあります。これは、IDLE.appまたはコマンドラインのいずれかで機能するはずidleです。Pythonパス構成(.pth)ファイルユーザーサイトパッケージディレクトリを利用します。Mac OS Xで3.2の標準Pythonフレームワークビルド(python.orgインストーラーなど)を使用していると仮定して、永続的に追加するディレクトリのパスファイルを作成しますsys.path。ターミナルセッションの場合:

mkdir -p ~/Library/Python/3.2/lib/python/site-packages
cd ~/Library/Python/3.2/lib/python/site-packages
cat >my_paths.pth <<EOF
/Users/YOUR_USER_NAME/path/to/your_additional_python_directory_1
/Users/YOUR_USER_NAME/path/to/your_additional_python_directory_2
EOF

これで、Python 3.2またはIDLEをユーザー名で実行するたびに、.pthファイルに追加したディレクトリが自動的にに追加されsys.pathます。

ところで、3.2または2.7より前のバージョンのPythonのユーザーsite-packagesディレクトリの正確なパスの場所はわずかに異なる場合があります。また、他のUnix-yシステムでは、ユーザーsite-packageディレクトリのデフォルトの場所はです~/.local/lib/python3.2/site-packages

于 2011-12-08T19:34:38.073 に答える
0

PYTHONPATHは環境変数ですここここを参照)。私はMacを持っていませんが、リンクしたスレッドから次のように入力します

launchctl setenv PYTHONPATH=/Me/Documents/mydir:$PYTHONPATH

コマンドラインで、からPythonスクリプトを実行できるようにします/Me/Documents/mydir.bashrcまたは、この行をホームディレクトリ( )で呼び出されるファイルに入れると~、ターミナルを開くたびにこのパスが設定されます。およびその他のファイルの簡単な紹介については、こちらを参照してください。お役に立てば幸いです。.bashrc.bash*

編集この質問も参照してください。

于 2011-12-08T14:57:06.207 に答える