我已经使用python -m venv venv
设置了venv,vscode将其识别为有效的解释器,并使用代码运行程序vscode扩展名按预期运行我的代码。但是,即使在运行source /Fake/path/to/env/bin/activate
之后,vscode集成的bash终端也仅使用python的系统版本。终端在输入提示上显示(env)
,但是通过os.path.dirname(sys.executable)
检查版本显示python版本是我的系统路径中的版本,而不是venv中的版本。因此,我正在安装的软件包将安装到系统python而非venv。
这是vscode中的终端而不是venv本身的问题,因为当我在本机终端(非集成)中执行上述步骤时,我获得了venv python的正确路径。
我尝试将vscode中的python.venvPath
变量设置为${workspaceFolder}/env
或fake/path/to/env
,但均无效。我以为可以在terminal.integrated.shellArgs.macos
设置下设置bash shell参数,但是还无法确定如何在启动时运行正确的激活脚本。作为参考,我目前的vscode设置如下:
"settings": {
"code-runner.fileDirectoryAsCwd": true;
"code-runner.executorMap": {
"python": "env/bin/python3",
},
"python.venvPath": "${workspaceFolder}/env",
"terminal.integrated.cwd": "${workspaceFolder}",
},
}
基本上,我希望集成终端能够激活venv activate bash脚本并临时替换该路径以将venv python用作默认设置。然后,我将能够使用pip3将相关的软件包安装到venv而不是系统python。但是尽管提示在输入之前显示(env)
,但实际的行为是在发出命令(例如)时它指向错误的python版本。 python3
或pip3
。
任何建议都会很棒!
答案 0 :(得分:2)
我遇到了同样的问题,尝试了各种各样的方法,但这最终奏效了。
1. python -m venv myvenv
2.打开命令面板,然后选择解释器myenv
3. CTRL + SHIFT +`在myenv中打开终端
然后我就能看到预期的...(myenv)C:\ Git \ pyPilot>
答案 1 :(得分:0)
您可以尝试设置默认解释器。在VSCode屏幕的左下角,您可以单击解释器名称,然后选择所需的名称。参见下图。红色椭圆形表示单击的位置。
在指定的空间中单击后,将打开一个菜单,您可以在其中选择python解释器。参见下图。
答案 2 :(得分:0)
对于在大学项目中工作的VSCode使用Python,我是一个新手。我在集成终端中遇到了与Python版本相同的问题。我不确定它是否会影响任何东西或以后破坏其他任何东西,但是现在……我做了以下工作,两者都将Python版本从2(系统一)更改为3(Anaconda安装)。
第二次尝试:更改路径以首先拥有Anaconda。需要清理...但是基础工作正常。
(基本)MacBook Pro-2:env myuserdir $ echo $ PATH
/ usr / local / bin:/ usr / bin:/ bin:/ usr / sbin:/ sbin:/ Users / myuserdir / env / bin:/ anaconda3 / bin:/ anaconda3 / condabin
(基本)MacBook-Pro-2:env myuserdir $ python --version
Python 2.7.10
(基本)MacBook-Pro-2:env myuserdir $ PATH =“ / anaconda3 / bin:$ PATH”
(基本)MacBook Pro-2:env myuserdir $ echo $ PATH
/ anaconda3 / bin:/ usr / local / bin:/ usr / bin:/ bin:/ usr / sbin:/ sbin:/ Users / myuserdir / env / bin:/ anaconda3 / bin:/ anaconda3 / condabin < / p>
(基本)MacBook-Pro-2:env myuserdir $ python --version
Python 3.7.1
第一次尝试: VSCode终端中的/ env / bin / activate源代码,并且更改了Python版本。
在VSCode中打开一个新的集成终端:Terminal \ New Terminal:
(基本)MacBook-Pro-2:env myuserdir $源/ anaconda3 / bin / activate
(基本)MacBook-Pro-2:env myuserdir $ conda激活基本
(基本)MacBook Pro-2:env myuserdir $ python --version Python 2.7.10
(基本)MacBook-Pro-2:env myuserdir $哪个python
/ usr / bin / python
(基本)MacBook-Pro-2:env myuserdir $ pwd
/ Users / myuserdir / env / env
(基本)MacBook-Pro-2:env myuserdir $ cd ..
(基本)MacBook-Pro-2:env myuserdir $ ls
bin env include lib pyvenv.cfg
(基本)MacBook-Pro-2:env myuserdir $源bin /激活
(env)(base)MacBook-Pro-2:env myuserdir $其中python
/ Users / myuserdir / env / bin / python
(env)(基本)MacBook-Pro-2:env myuserdir $ python --version
Python 3.7.1
答案 3 :(得分:-2)
cd ./myenv/Scripts /
激活
为我工作