12

WindowsにPyCharm 1.2.1があります。同じプロジェクトのさまざまなブランチを編集する必要があります-ディスク上のさまざまなフォルダーにあるため、やや重いブランチ-c:\apps\alphac:\apps\beta. そのようなフォルダーごとに、PYTHONPATH 変数を調整して、プロジェクト ルート フォルダー ( c:\alpha\vendor、...) 内のどこかに存在する適切なベンダー ライブラリを指すようにする必要があります。PyCharmを起動する前に必要なPYTHONPATH変数値を設定するcmdバッチファイルからPyCharmを起動することで、この問題を回避することができました(したがって、ディレクトリPyCharm.cmdalphaとディレクトリPyCharm.cmd内にありますbeta)。

問題:フォルダーを編集するために PyCharm を開くとbetaimportステートメントはフォルダーからモジュールをインポートしalphaます! python.exeコマンドラインからインタープリターを起動すると、すべてが期待どおりに機能します-問題はPyCharm のみにあるようです。

2 番目の奇妙な調査: print sys.pathPyCharm と外部の python.exe インタープリターからコードを実行すると、異なる結果が得られます。PyCharm からは、私の PYTHONPATH モジュールが表示されません。私は Python と PyCharm の初心者ですが、この動作は非常に奇妙で一貫性がないように見えます。

最後に、この問題を解決できるように見える PyCharm IDE の設定をいくつか見つけましたFile -> Settings -> Python Interpreteralphaそこで、とbetaフォルダーの両方のすべてのパスを見つけました。このパス リストをクリアする方法はなく、一部の要素を無効にするだけです。alphaしかし、無効にすることはややばかげています.編集またはbeta「ソリューションフォルダー」のたびに、個別に無効/再度有効にする必要があります。

最後の質問: PyCharm を使用して個別のプロジェクト (フォルダー) を編集し、PyCharm が間違った場所からモジュールをインポートしないようにするにはどうすればよいでしょうか?

4

1 に答える 1

13

正しい解決策は、PyCharm のロジックを回避しようとするのではなく、IDE 機能を設計どおりに使用することです。つまり、次のことを意味します。

  • PyCharm の起動に .cmd スクリプトを使用しない
  • [設定] | [設定] のパスのリストから、「アルファ」および「ベータ」に固有のすべてのパスを削除します。Python インタープリターがそこにリストされている場合
  • 「alpha/vendor」および「beta/vendor」ディレクトリをそれぞれアルファおよびベータ プロジェクトのソース ルートとしてマークします。

次に、PyCharm はインポートを正しく解決し、そこからアプリケーションを実行するときに正しい PYTHONPATH を自動的に生成します。

于 2011-04-26T18:21:22.477 に答える