1. ホーム
  2. visual-studio-code

Visual Studio CodeのPYTHONPATHを正しく設定する方法

2023-10-11 13:06:14

質問

を正しく設定するにはどうしたらよいでしょうか。 $PYTHONPATH 変数を正しく設定するにはどうすればよいですか。

背景情報

私は2つのバージョンのGNURadioをインストールしました。

  1. GNURadio バージョン 3.7.11 は Linux Mint のパッケージマネージャによって、以下の場所にインストールされました。 /usr/lib/python2.7/dist-packages/gnuradio

  2. GNURadio バージョン 3.7.13.4 は PyBOMBS によって以下の場所にインストールされました。 /home/tejul/Documents/gr13/default/lib/python2.7/dist-packages/gnuradio (私のプレフィックスディレクトリは ~/Documents/gr13/default )

新しいバージョンのGNURadioのバージョンを使用できるのは setup_env.sh スクリプトを実行した後でのみ、新しいバージョンの GNURadio を使うことができます (これは -- とりわけ -- /home/tejul/Documents/gr13/default/lib/python2.7/dist-packages$PYTHONPATH ) で、ターミナルで python を起動します。

tejul@Wacom:~/Documents/gr13/default$ ls
bin  etc  include  lib  libexec  setup_env.sh  share  src
tejul@Wacom:~/Documents/gr13/default$ source ./setup_env.sh 
tejul@Wacom:~/Documents/gr13/default$ python
Python 2.7.15rc1 (default, Nov 12 2018, 14:31:15) 
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from gnuradio import gr
>>> gr.version()
'3.7.13.4'
>>> 

PYTHONPATHを変更せずに pythonは -- 当然ながら -- 古いバージョンのGNURadioをインポートしています。

私は VisualStudio Code で GNURadio の新しいバージョンのための python スクリプトを書き、実行し、デバッグしたいのです。私は、選択された python インタープリター , ワークスペース そして 環境 はVSCode用です。

私が理解する限り、VSCodeのワークスペースの設定である python.pythonPath という環境変数と混同しないように $PYTHONPATH . python.pythonPath へのパスは python インタプリタ のパスで、コードのデバッグや実行に使用されます。 $PYTHONPATH は python がデバッグやコード実行のために使用する環境変数です。 モジュールの検索 .

PyBOMBSは独自のPythonインタプリタを私のprefixディレクトリにインストールしなかったようです。そのため、VSCode を使用するには、通常の Python インタプリタを /usr/bin/python2.7 . そこで、VSCode の python.pythonPath を再定義したり、他のPythonインタプリタを選択しても、私の助けにはならないでしょう。

VSCodeに自分用の環境変数である $PYTHONPATH これは通常の Python インタプリタにモジュールをインポートするように伝えるものです。 /home/tejul/Documents/gr13/default/lib/python2.7/dist-packages .

問題点

に続いて ドキュメント に従って、私は自分自身の .env ファイルを作成し、python がモジュールをインポートする場所の優先順位を設定しました。残念ながら、それは Python インタープリタには何の影響も及ぼしません。

何か間違ったことをしているのがわかりますか?また、私は試してみました。

  • PYTHONPATH を 1 つ上のフォルダー レベルに設定する、つまり /home/tejul/Documents/gr13/default/lib/python2.7 しかし、これは役に立ちませんでした。
  • 変数を呼び出す $PYTHONPATH の代わりに PYTHONPATH に変更しましたが、これは役に立ちませんでした。
  • を変更するたびに VSCode を再起動します。 .env ファイルを変更するたびに VSCode を再起動しましたが、これは役に立ちませんでした。
  • パス文字列をダブルクォートで囲むと、例えば PYTHONPATH="/home/tejul/Documents/gr13/default/lib/python2.7:/usr/lib/python2.7" しかし、これは役に立ちませんでした。

どのように解決するのですか?

OP は、.env ファイルのパス構文と、カスタム モジュール ファイルを見つけて読み込むように設定された vscode について質問したようです。私の問題は、スクリプトでインポートするカスタム モジュールを見つけるコードが欲しいという点で似ていました。私はカスタムモジュールを Python 環境の中のフォルダに置きたくありませんでした。私はまた、Windows環境変数のユーザー変数にPYTHONPATHとして1つ以上のパスを設定することを避けたかったのですが、あなたがそれをしたい場合、これはうまくいくでしょう。 私はWindows 10のvscodeで作業しています。

1) SYNTAXです。

a) envファイルで次のパス構文が機能することがわかりました。

pythonpath = c:/0apps/python/_modules

私の.pyモジュールファイルは、このフォルダにあります。

b) # .env ファイル内のコメントに対して動作します。

2) VSCODE SET-UP: 以下のようにするとうまくいくことがわかりました。

a) 2の私のセットアップでsunewが言ったように。VSCODEのエクスプローラーを使い、選択したプロジェクトのワークスペースフォルダで開きます。