質問: ### 前提・実現したいこと VS codeで、pythonインタープリタを追加したい。 (https://ja.stackoverflow.com/questions/48705/vs-code-にvenv環境を認識させたい) 発生している問題・エラーメッセージ ------------------ VScodeのユーザー設定で、python.pythonPath部分に、仮想環境上にあるpython環境のパスを記述しても、インタープリタを選択しようとした時に、選択肢として出てこない。 ### 該当のソースコード { **"python.pythonPath": "/home/vagrant/work/venv/bin/python"**, "python.jediEnabled": false, "remote.onstartup": true, } ### 試したこと ターミナルから、仮想環境に入り、"Code"コマンドでVScodeを起動する方法も試したが、 「コマンド'code'は見つかりませんでした」となった。 VScodeで、PATHにCodeコマンドを追加した後もうまくいかず。。。 ### 動作環境 PC: MacBookPro OS: High sierra 仮想環境:vagrant ゲストOS:ubuntu16.04 Python3: 3.6.4 ### 修正したこと 1.実行しようとしていたのは、ゲスト上にインストールしたPythonです。 ホスト上は /Users/username/.pyenv/versions/3.6.4/bin/python ゲスト上は /home/vagrant/work/venv/bin/python にそれぞれインストールし直しました。 その後{"python.pythonPath": "/home/vagrant/work/venv/bin/python"}と記述したのですが、このpathでゲスト上の python ということは認識されるのでしょうか? 2. ホスト上の pythonから codeコマンドを実行すると、VScodeを起動できます。また、ゲスト上の pythonでも、hoge.py を実行できました。
回答: 仮想環境はもうすでに違うコンピュータにあると思っていいですよ。 自分のPCで他人のPCのコマンドを実行することができないのと同様にホストPCから仮想環境のpythonの実行はできませんよ。 > > ゲスト上は /home/vagrant/work/venv/bin/python にそれぞれインストールし直しました。 > > その後{"python.pythonPath": "/home/vagrant/work/venv/bin/python"}と記述したのですが、このpathでゲスト上の python ということは認識されるのでしょうか? > > > これに対しての回答は、ゲストのPythonは認識できないし、ゲストPCからホストのVSCodeも実行できないということになります。 ホストにもpythonが入っているのであればVSCodeにホストのPythonのパスを設定すればVSCodeでPythonの実行は可能だと思いますが、そうされない理由は何でしょうか? 使用するpythonのバージョンがその理由なのであれば仮想環境を作らなくても複数バージョンのPythonの切り替えを行うことができますよ。 同一システム上でPython複数環境の構築