我已经在这个问题上停留了几个小时,并且相信我已经尝试了将计算机扔出窗户之外的所有事情。
我在Anaconda上使用python版本3.7和Django版本2.1设置了虚拟环境。如果我从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版本。
以前有人遇到过这个问题吗?我整天都在扯头发,想解决这个问题
我一直面临着完全相同的问题。终于在论坛上找到了解决方法(https://github.com/Microsoft/vscode-python/issues/4434#issuecomment-466600591)
只要将一些东西添加到配置中terminal.integrated.env.osx
,该内容就会PATH
在shell初始化后添加到源文件bash_profile或zshrc中。在我的Mojave中,我只需在用户配置中添加以下空条目:
"terminal.integrated.env.osx": {
"PATH": ""
}
然后,$PATH
它将与外部端子相同。
我查看了论坛帖子,这似乎是完全相同的问题。您能否进一步说明该代码应粘贴到哪里?您说“在我的莫哈韦沙漠中”,但我不确定您的意思。如果这有效,我将其标记为已解决,谢谢
您应该将其粘贴到您的用户的settings.json文件中。您可以在首选项->设置->用户首选项标签中找到它。只需输入设置,即可找到的选项
Edit in settings.json
。或文件位于~/Library/Application Support/Code/User/settings.json
。