0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VSCode: 定義ジャンプ先の注意

0
Last updated at Posted at 2026-06-03

有効化している仮想環境と、Pylance(VSCode)で設定しているPython環境は異なる

勘違いがあったので、備忘録として。

  • 前提:
    あるプロジェクトディレクトリ内にgit cloneしたプロジェクトがあり、それを動かすための仮想環境と、当初のプロジェクトにある仮想環境の二つが存在している
    (本来このように入れ子で管理するのではなく、独立させるべきかも、、、)

このような場合、
sourceで有効化した環境と、Pylanceに設定している環境は同じとは限らない。
Pylanceはルートディレクトリにある環境を優先して設定する。

なので、VScodeで以下を開いて設定する必要がある。
VSCodeの画面右下に小さくPylanceで設定されている仮想環境の名前が表示されている。
クリックすると以下のような画面が現れるので、クリックで選択。

image.png

なぜこれに行き着いたか

これを使用するのは稀かもしれないが。
今回の例では、
実装ファイルの実行エラーが発生し、それを解決・理解するため、エラーに関わるクラスから定義ジャンプを用いてソースコードを見に行った。
何度か実験的にクラスの中身を書き換え実行結果を確認したが、全く結果が変わらなかった。
これを疑問に思った結果、行きついた答えは、

Pylanceの定義ジャンプを用いて参照した環境のファイルと、有効化している環境は異なるということ。
つまり、Pylanceで設定した環境のソースコードを書き換えていた。
有効にしている環境下では別のソースコードを使用しているため、結果が変わらなかったということ。


設定の環境を合わせ、変更・実行することができたが、結局以下が発生。

AttributeError: property 'num_samples' of 'RandomSampler' object has no setter

→ 勝手に書き換えれる代物じゃねーよ

.
.
.

理解度があがったのでokです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?