実現したいこと
vscodeのターミナルで仮想環境をアクティブにした状態でのpipコマンドの挙動と同じようにしたい
前提
windowsのvscodeでpythonを使用し開発を行う際、仮想環境を使用しています。前は右下のところで仮想環境が選択されている状態でvscodeのターミナルを使用してpip listなどを打ち込むと仮想環境のモジュール一覧が表示されていました。しかし、今は仮想環境が選択されているのにも関わらずpip listを打ち込むと仮想環境内のモジュールを表示せずにグローバルの方を表示します。
試したこと
右上にある三角のボタンを押しpythonを実行しようとすると仮想環境でプログラムが動作しています。
vscodeの再インストール
補足情報
バージョン
python 3.11.0
vscode 1.102
追記
そのターミナルでその仮想艦橋がアクティベートされていないのではないかと思いますが、アクティベートの確認はしていますか?
ターミナルを開き直すことで仮想環境が自動でアクティベイトされませんか?
ターミナルを開きなおしても自動でアクティベイトされません。手動で仮想環境をアクティベイトしようと試みたのですがエラーが出てできませんでした。
「仮想環境」とはvenv使用でしょうか?
以前は自動でアクティベイトできていたとのことなので最近何か設定を変えませんでしたか?
> 手動で仮想環境をアクティベイトしようと試みたのですがエラーが出てできませんでした。
そのときのコマンドとエラーメッセージを質問に追記できますか?
スクショもあるとよりよいです。
>以前は自動でアクティベイトできていたとのことなので最近何か設定を変えませんでしたか?
最近設定は買えてないと思います。やったことは今まで一つの仮想環境内で動かしていたプログラムを細かく分けて仮想環境を作成しなおしたくらいです。おそらく仮想環境を作成しなおしたあたりから自動アクティベイトされなくなったと思います。
>そのときのコマンドとエラーメッセージを質問に追記できますか?
スクリーンショットを追記部分にアップロードさせていただきました。ネットで解決方法を探っていたのですがよくわからず断念してしまいました。
仮想環境に関するvscodeの設定はどうなっていますか?
追記いただいたエラーに関してはPowerShellのセキュリティポリシーに引っかかってませんか?
エラーで検索すると以下のページがみつかりました。
https://note.com/shinao39/n/n2c81c3520837
以前はできていたということなので、設定が変った理由は不明ですが。
ちなみに、パスを見ると、 C:/ProgramData フォルダ配下になっています。通常ここは隠しフォルダですし、ユーザがファイルを作ったりするには適さないと思います。この場所を使う特別な理由が無いのであれば、プロジェクトや仮想環境のフォルダ/ファイルの場所を、ユーザのホームディレクトリ配下の適切な場所に作りなおして実行してみるのがいいと思います。
source "パス"
でvenv仮想環境に入れませんか?
添付いただいた画像を元にコメントさせて頂きました。
windows上のpowershell環境なので、activateにsourceコマンドは不要です。
> windows上のpowershell環境なので、activateにsourceコマンドは不要です。
お試しいただきありがとうございます。
そうですか。お役に立てずすみません。
>ユーザのホームディレクトリ配下の適切な場所に作りなおして実行してみるのがいいと思います。
ご指摘ありがとうございます。適切な場所に作り直して仮想環境を再作成したのですが結果は変わりませんでした。貼っていただいたリンクに書いてあることも試してみようと思います。
>そうですか。お役に立てずすみません。
ご返信いただきありがとうございます。引き続き、解決に向けて試行錯誤してみます。
python拡張の githubに、関係しそうな issue があがっています。
https://github.com/microsoft/vscode-python/issues/25284
https://github.com/microsoft/vscode-python/issues/25291
質問者さんは、insider版のpython拡張を使ってますか?だとすると該当するかもしれません。
ざっと読んだ感じだと、今後は自動で venv がアクティベイトされるためには Python Environments拡張をいれることになるっぽいですが、現時点ではどうすべきなのかはっきりしない印象です。
>エラーで検索すると以下のページがみつかりました。
リンク内に書いてあるコマンドを打ち込んでみましたが結果は変わらず手動アクティベイトできません
> 結果は変わらず
まったく同じエラー(システムではスクリプトの実行が無効になっている)ですか?
> リンク内に書いてあるコマンドを打ち込んでみました
どこで何を実行したか、結果を含めて質問に追記いただくことは可能ですか? 全体のコピペかスクショが確実です。
現在の設定を確認するため、powershellプロンプトで以下のコマンドを実行した結果を教えてください。
Get-ExecutionPolicy

回答2件
あなたの回答
tips
プレビュー