VSCode终端显示错误的python版本和路径,从anaconda启动终端工作完美

2024-10-05 19:27:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经在这个问题上纠结了几个小时了,我相信除了把电脑扔出窗外,我已经尝试了一切。在

我在Anaconda上设置了一个使用python3.7和Django版本2.1的虚拟环境。如果我从水蟒激活这个虚拟环境,一切都会顺利进行。在

(movierecommender) bash-3.2$ python -V
Python 3.7.2
(movierecommender) bash-3.2$ python -m django --version
2.1.5

但是,当我试图从vscode终端激活环境时

^{pr2}$

我有Python 3.7.2 64-bit ('movierecommender':conda) 在vscode窗口的左下角显示为python解释器,但仍然得到错误的python版本

我以为这可能和Python有关,但我已经试着去设置和重置,即使我不必担心在Python身上会自动添加: "python.pythonPath":"/Users/maxswann/anaconda3/envs/movierecommender/bin/python" 到asettings.json.vscode文件

使用:

python -c "import sys; print(sys.path)"

水蟒发射终端

['', '/Users/maxswann/anaconda3/envs/movierecommender/lib/python37.zip', '/Users/maxswann/anaconda3/envs/movierecommender/lib/python3.7', '/Users/maxswann/anaconda3/envs/movierecommender/lib/python3.7/lib-dynload', '/Users/maxswann/anaconda3/envs/movierecommender/lib/python3.7/site-packages']

Vs代码终端

['', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', '/Library/Python/2.7/site-packages', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC']

如您所见,它似乎在使用默认的macospython版本。在

以前有其他人有过这个问题吗?我一整天都在努力解决这个问题


Tags: 版本终端liblibraryframeworkversionsvscodesystem
3条回答

我也遇到了同样的问题。尝试从powershell终端切换到windows终端。然后重新启动。它应该重新启动水蟒终端。如果不起作用,您可以:

首先将默认终端从visualcode中更改为CMD终端,而不是Powershell。将以下代码添加到批处理文件中。在

call "c:\path\to\anaconda3\Scripts\activate"

然后命名批处理文件并将其保存到根目录中。在我的例子中snake.bat。现在,当我启动命令终端时,我只需输入c:\snake.bat,命令提示符将变为Python提示符。在

我运行了这个脚本。现在python3正在从virtual env运行。[Windows 10]

pip3 install virtualenv
virtualenv env
call ".\env\Scripts\activate.bat"
set requirements="./Requirements.txt"
pip3 install -r %requirements%
python

我一直面临着同样的问题。终于从论坛(https://github.com/Microsoft/vscode-python/issues/4434#issuecomment-466600591)找到了解决方法

只要您在配置中添加一些东西,terminal.integrated.env.osx,在shell初始化(source bash_profile或zshrc)之后,内容就会被附加到PATH中。在Mojave中,我只需在用户配置中添加以下空条目:

"terminal.integrated.env.osx": {
        "PATH": ""
}

那么$PATH将与外部终端相同。在

相关问题 更多 >