IntelliJをPythonプラグインと リモートインタープリター機能 を使用してVagrant VMと通信しています。 VMのインタープリターを使用するようにリモートインタープリターを正しくセットアップします。しかし、私は自分のVMでカスタムPYTHONPATHを使用し、IntelliJがそのパスを認識して、開発時にそのパスにモジュールを含めるようにします。
VMでカスタムPYTHONPATHを使用するようにIntelliJ/PyCharmのリモートインタープリターを構成するにはどうすればよいですか?
PYTHONPATHを編集する手順、またはコード検査のインポート解決の問題を修正する手順は次のとおりです。
⌘,
です)。Project Structure
の下の左側のサイドバーでProject: Your Project Name
を探します
右側のサイドバーでモジュールを追加または削除します
EDIT:PyCharm 4.5のこのスクリーンショットを更新しました
私にとっての解決策は、
Run > Edit Configuration > Defaults > Python
その後、管理する
「作業ディレクトリ」フィールドの設定と同様に、チェックボックスをオンにします。
独自の実行/デバッグ構成を設定している場合は、
Run > Edit Configuration > Python > [Whatever you called your config]
そこで編集します。
私の問題は、PyCharm 2016.2プロジェクトにリポジトリ全体を含めたいということでしたが、実際のpythonソースコードルートはサブフォルダーのみでした。フォルダを右クリックして「ソースルート」として追加しました
Mark directory as > Source Root
次に、[実行/デバッグ構成]メニューで[コンテンツルートをPYTHONPATHに追加]チェックボックスをオフにし、[ソースルートをPYTHONPATHに追加]チェックボックスをオンにします。次に、以下を実行してフォルダーのパスを確認しました。
import sys
logger.info(sys.path)
これは出力しました:
[
'/usr/local/my_project_root/my_sources_root',
'/usr/local/my_project_root/my_sources_root',
'/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu',
'/usr/lib/python3.4/lib-dynload',
'/usr/local/lib/python3.4/dist-packages',
'/usr/lib/python3/dist-packages'
]
ただし、修正せずに言った:
[
'/usr/local/my_project_root/my_sources_root',
'/usr/local/my_project_root', <-- NOT WANTED
'/usr/lib/python3.4',
'/usr/lib/python3.4/plat-x86_64-linux-gnu',
'/usr/lib/python3.4/lib-dynload',
'/usr/local/lib/python3.4/dist-packages',
'/usr/lib/python3/dist-packages'
]
つまり、プロジェクトのルートフォルダーが含まれることになりました。これは私の道を台無しにしました。
私の経験では、PYTHONPATH変数を使用することは、通常、間違ったアプローチです。これは、WindowsでVENVとうまく動作しないためです。 PYTHONは、ロード時にPYTHONPATHをパスに追加することによりパスを準備します。これにより、慎重に準備されたVenvがグローバルサイトパッケージを優先的にフェッチすることになります。
PYTHONパスを使用する代わりに、関連するsite-packagesディレクトリにpythonpath.pthファイルを含めます(カスタムpythonは時々異なる場所でそれらを探すことに注意してください。たとえば、enthoughtはpython.exeと同じディレクトリで検索しますその.pthファイル)と各仮想環境。これはPYTHONPATHのように機能しますが、pythonインストールに固有であるため、pythonインストール/環境ごとに個別のものを使用できます。 pythonインストールとしてVENVのpythonを使用する場合、PycharmはVENVと強力に統合されます。
例参照 this SO question .pthファイルの詳細については...
通訳のダイアログボックスに移動して、これを行うことができます。使用しているインタープリターをクリックすると、その下に「パッケージ」と「パス」という2つのタブが表示されます。
[パス]をクリックし、VMパスを追加します。
Pycharm 5でこれに従ってください https://www.jetbrains.com/pycharm/help/configuring-python-interpreter-for-a-project.html
1)[設定]ダイアログボックスを開き、[プロジェクトインタープリター]ページをクリックします。
2)[プロジェクト]ペインで、目的のプロジェクトを選択します。
3)選択したプロジェクトについて、使用可能なPythonインタープリターおよび仮想環境のリストからSDKを選択します。
Intellij v2017.2では、次の場所にアクセスできます。
run > edit configurations > click ... next to the field 'Environment variables' > click the green + sign
名前= PYTHONPATH
値= your_python_path