Visual Studio CodeのPYTHONPATHを正しく設定する方法
質問
を正しく設定するにはどうしたらよいでしょうか。
$PYTHONPATH
変数を正しく設定するにはどうすればよいですか。
背景情報
私は2つのバージョンのGNURadioをインストールしました。
-
GNURadio バージョン 3.7.11 は Linux Mint のパッケージマネージャによって、以下の場所にインストールされました。
/usr/lib/python2.7/dist-packages/gnuradio
-
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のエクスプローラーを使い、選択したプロジェクトのワークスペースフォルダで開きます。
関連
-
[解決済み] Visual Studio Codeでの縦書きルーラー
-
[解決済み] Visual Studio Code for Windowsでコードのセクションを折りたたむにはどうしたらいいですか?
-
[解決済み] Visual Studio Codeで行や選択範囲を複製するにはどうすればよいですか?
-
[解決済み] Visual Studio Code(VSCode)でコードをフォーマットするにはどうすればよいですか?
-
[解決済み] Visual Studio Codeで、最後のカーソル位置まで戻るにはどうすればよいですか?
-
[解決済み] Visual Studio Codeでエディタと統合ターミナル間のフォーカスを切り替える
-
[解決済み] Visual Studio Codeでファイルを検索するにはどうすればよいですか?
-
[解決済み】Visual Studio Codeでの複数行編集について
-
[解決済み】Visual Studio Codeの「ワークスペース」とは何ですか?
-
[解決済み】PyCharmでインストールされたパッケージを使用するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] vscodeのPythonブラックフォーマッタがフォーマットされない
-
[解決済み] 環境のフォントサイズを変更するには?
-
[解決済み] Visual Studio Codeでハイライトの文字色を変更する
-
[解決済み] VSコードでコードレンを無効にする方法は?
-
[解決済み] VSCodeは、ファイルエクスプローラーのジャンプを防止する [重複] 。
-
[解決済み] Visual Studio Codeが常に前のファイルやフォルダーを再オープンしないようにするにはどうすればよいですか?
-
[解決済み] VSCodeキーバインドでエクスプローラーを非表示にする
-
[解決済み] Visual Studio Codeで正しいインデントでコピー&ペーストするための設定
-
[解決済み] vscodeのダウングレード方法
-
[解決済み] VS Codeでflake8が確実にルールを無視するようにするにはどうしたらいいですか?