問題描述
我已經被這個問題困擾了好幾個小時,并且相信我已經嘗試了所有方法,除了把我的電腦扔出窗外.
I have been stuck on this one problem for hours now and believe I have tried everything outside of throwing my computer out of the window.
我使用 python 3.7 版和 Django 2.1 版在 Anaconda 上設置了一個虛擬環境.如果我從 Anaconda 激活這個虛擬環境,一切都會順利進行.
I have a virtual environment set up on Anaconda using python version 3.7 and Django version 2.1. If I activate this virtual environment from Anaconda everything works smoothly.
(movierecommender) bash-3.2$ python -V
Python 3.7.2
(movierecommender) bash-3.2$ python -m django --version
2.1.5
但是,當我嘗試從 vscode 終端激活環境時,我得到了
However when I try to activate the environment from a vscode terminal I get
(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 位 ('movierecommender':conda)
在我的 vscode 窗口左下角顯示為我的 python 解釋器,但仍然得到錯誤的 python 版本
I have Python 3.7.2 64-bit ('movierecommender':conda)
showing as my python interpreter in the bottom left of my vscode window yet still get the wrong python version
我認為這可能與 PYTHONPATH 有關,但嘗試取消設置和重置,即使我不必擔心 Anaconda 中的這一點,因為它會自動添加:"python.pythonPath":"/Users/maxswann/anaconda3/envs/movierecommender/bin/python"
到 settings.json.vscode 文件
I thought this may be to do with the PYTHONPATH but have tried unsetting and resetting even though I should not have to worry about this in Anaconda as it automatically adds:
"python.pythonPath":"/Users/maxswann/anaconda3/envs/movierecommender/bin/python"
to a settings.json.vscode file
使用:
python -c "import sys; print(sys.path)"
Anaconda 推出的終端
Anaconda-launched terminal
['', '/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 版本.
As you can see it seems to be using the default mac OS python version.
以前有沒有其他人遇到過這個問題?我整天都在扯頭發試圖解決這個問題
Has anybody else had this problem before? I've been tearing hair out all day trying to fix this
推薦答案
我也遇到了同樣的問題.終于從論壇(https://github.com/Microsoft/vscode-python/issues/4434#issuecomment-466600591)
I have been facing the exact same problem. Finally found a workaround from a forum (https://github.com/Microsoft/vscode-python/issues/4434#issuecomment-466600591)
只要在配置中添加一些東西,terminal.integrated.env.osx
,在shell初始化(source bash_profile or zshrc)后,內容會附加到PATH
).在我的 Mojave 中,我只需將以下空條目添加到我的用戶配置中:
As long as you ADD some stuff to configuration, terminal.integrated.env.osx
, the content will be appended to PATH
after shell initialization(source bash_profile or zshrc). In my Mojave, I simply add following empty entry to my user configuration:
"terminal.integrated.env.osx": {
"PATH": ""
}
那么$PATH
就和外部終端一樣了.
Then the $PATH
will be the same as the external terminal.
這篇關于VSCode 終端顯示不正確的 python 版本和路徑,從 anaconda 啟動終端工作正常的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!