2

メインモジュール(Eclipseの外)をダブルクリックして、動作中のpydevプロジェクトのPythonコードを実行したい:xxx.py

問題は、私の輸入品が異なるパッケージに含まれているためです。

from src.apackage.amodule import obj

xxx.pyをダブルクリックすると、インポートがどこにあるかわからないと文句を言います(pydevでxxx.pyを実行すると、何をインポートしているかが魔法のようにわかります)。

簡単な回避策は、すべてのパッケージを削除し、すべてのモジュールを1つのディレクトリに移動することです(これは明らかに機能しますが、非常に不便です)

この回避策を実行せずに、ファイルシステムでコードを実行するにはどうすればよいですか?

4

2 に答える 2

0

あなたが遭遇した問題は、ほとんどの言語の自然な振る舞いです。プログラムは、その作業パス (プログラムが開始されたパス)、環境変数に登録されているパス、および少なくとも相対パスしか認識していません。

したがって、作成した実行可能ファイルの「魔法」は次のとおりです。必要なすべてのスクリプト/モジュールを収集し、それらを実行可能ファイルの横/中にコピー/結合します。実行可能ファイルは、他のすべてのスクリプトも存在するディレクトリ内で実行され、出来上がり...

PyDev なしでプロジェクトを実行するたびに実行可能ファイルを作成するという回避策に満足できない場合は、2 つの選択肢があります。最初に、私が提案するものではありませんが、作業パスを環境変数に登録することです。2 つ目は、私が思うにはるかに優れていると思います。python 実行可能ファイルへのリンクを作成し、テキスト フィールド「Target:」の呼び出し文字列を変更します。実行したいスクリプトへのパスを追加します。次に、テキストフィールド「Start in:」を変更し、プロジェクト ディレクトリを入力します。これを行った後、単純なダブルクリックでプロジェクトを開始できるはずです。

(パス上にもプロジェクト内にもない外部ライブラリに依存している場合は、sys モジュールを介して pythonpath に一時的にパスを追加することを検索できます。)

少しでもお役に立てれば幸いです。

于 2012-06-04T14:41:53.973 に答える