web-dev-qa-db-ja.com

VMおよびPyCharmを使用してカスタムPYTHONPATHを構成する方法は?

IntelliJをPythonプラグインと リモートインタープリター機能 を使用してVagrant VMと通信しています。 VMのインタープリターを使用するようにリモートインタープリターを正しくセットアップします。しかし、私は自分のVMでカスタムPYTHONPATHを使用し、IntelliJがそのパスを認識して、開発時にそのパスにモジュールを含めるようにします。

VMでカスタムPYTHONPATHを使用するようにIntelliJ/PyCharmのリモートインタープリターを構成するにはどうすればよいですか?

68
baalexander

PyCharm 5(または2016.1)の場合、次のことができます。

  1. [設定]> [プロジェクトインタープリター]を選択します。
  2. インタプリタセレクターの右側に「...」ボタンがあり、それをクリックします
  3. 「もっと...」を選択します
  4. 新しい「プロジェクトインタープリター」ウィンドウをポップアップ表示します
  5. 右端のボタンを選択します(「選択したインタープリターのパスを表示」という名前)
  6. 「インタープリターパス」ウィンドウをポップアップ表示します
  7. 「+」ボタンをクリックし、目的のPYTHONPATHディレクトリ(pythonモジュールを含むフォルダー)を選択して、[OK]をクリックします
  8. できた!楽しめ!

enter image description here

enter image description here

enter image description hereenter image description here

109
phil

PYTHONPATHを編集する手順、またはコード検査のインポート解決の問題を修正する手順は次のとおりです。

  1. 設定を開きます(Macでは、キーボードショートカットは⌘,です)。

How to get to Settings from Menu

  1. Project Structureの下の左側のサイドバーでProject: Your Project Nameを探します

  2. 右側のサイドバーでモジュールを追加または削除します

Project Structure Settings in Pycharm 4.5

EDIT:PyCharm 4.5のこのスクリーンショットを更新しました

76
Bjorn Tipling

私にとっての解決策は、

Run > Edit Configuration > Defaults > Python

その後、管理する

  • 「PYTHONPATHにコンテンツルートを追加する」および
  • 「ソースルートをPYTHONPATHに追加」

「作業ディレクトリ」フィールドの設定と同様に、チェックボックスをオンにします。

独自の実行/デバッグ構成を設定している場合は、

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'
]

つまり、プロジェクトのルートフォルダーが含まれることになりました。これは私の道を台無しにしました。

14

これは、PyCharm Community 2019.1で行われました

  1. プロジェクト設定に移動 Settings
  2. プロジェクト構造に移動し、追加するディレクトリを右クリックして、「ソース」をクリックします Project Structure - add sources

これにより、ディレクトリがpythonpathに追加されます Project Structure - after add sources

5
dustindorroh

私の経験では、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
phil_20686

通訳のダイアログボックスに移動して、これを行うことができます。使用しているインタープリターをクリックすると、その下に「パッケージ」と「パス」という2つのタブが表示されます。

[パス]をクリックし、VMパスを追加します。

0
Games Brainiac

Pycharm 5でこれに従ってください https://www.jetbrains.com/pycharm/help/configuring-python-interpreter-for-a-project.html

1)[設定]ダイアログボックスを開き、[プロジェクトインタープリター]ページをクリックします。
2)[プロジェクト]ペインで、目的のプロジェクトを選択します。
3)選択したプロジェクトについて、使用可能なPythonインタープリターおよび仮想環境のリストからSDKを選択します。

0
Saurabh

Intellij v2017.2では、次の場所にアクセスできます。

run > edit configurations > click ... next to the field 'Environment variables' > click the green + sign

名前= PYTHONPATH

値= your_python_path

0
Joris Kinable