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

问题描述 投票:4回答:2

我已经被困在这个问题上好几个小时了,相信我已经尝试过将电脑扔出窗外的一切。

我使用python版本3.7和Django版本2.1在Anaconda上设置了虚拟环境。如果我从Anaconda激活这个虚拟环境,一切都很顺利。

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

但是,当我尝试从vscode终端激活环境时,我得到了

(movierecommender) maxs-MBP:movies maxswann$ python -V
Python 2.7.10
(movierecommender) maxs-MBP:movies maxswann$ python -m django --version
/usr/bin/python: No module named django

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

我认为这可能与PYTHONPATH有关,但尝试取消设置和重置,即使我不必担心Anaconda,因为它会自动添加:"python.pythonPath":"/Users/maxswann/anaconda3/envs/movierecommender/bin/python"到settings.json.vscode文件

使用:

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

Anaconda推出的终端

['', '/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']

正如您所看到的,它似乎使用默认的mac OS python版本。

以前有其他人有这个问题吗?我整天都在试着解决这个问题

python django visual-studio-code anaconda
2个回答
10
投票

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

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

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

然后$PATH将与外部终端相同。


0
投票

我刚遇到同样的问题。尝试从powershell终端切换到Windows终端。然后重启。它应该用anaconda终端重启。如果这不起作用,你可以:

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.