在 Visual Studio Code 中导入 requests 库到 Python。
在 Visual Studio Code 中导入 requests 库到 Python。
前言: 我已经尝试了这篇帖子中的所有建议,但它们都没有起作用。
我正在尝试将模块requests
导入Python文件中(使用Python 2.7.14)。
Visual Studio Code在控制台中输出了以下内容:
ImportError:没有名为requests的模块
经过查找,我发现我没有安装requests
模块,所以我使用Terminal中的以下命令进行了修复:
sudo pip install requests
,基于这篇获得了大量赞的回答。
我关闭了VS Code并重新打开它,打开了我的Python文件,运行它,结果还是出现了同样的错误。于是我尝试了每个解决方案,希望其中之一能起作用。但都没有。
我最近安装了anaconda
,我怀疑它是问题的根源,因此我使用brew
卸载了我所能找到的所有Python实例,以及随时间累积在硬盘上的其它安装程序的部分。根据这篇文章,我卸载了这些去留。
然后我从头开始重新安装了Python,先运行了brew doctor
、brew prune
等命令。
我还深入了解了Visual Studio Code中的代码设置,以查看问题是否出在这里。其中一条建议是在code-runner.executorMap
设置中覆盖python
的设置,因此我在Terminal中键入which python
以获取python
的路径,并更新了VS Code的用户设置以使用which python
返回的路径。现在,我正在将此用作我的code-runner.executorMap
:python
:
"code-runner.executorMap": { "python" : "/usr/bin/python" }
我已经通过放置几个简单语句来验证Python是否正常工作:
print("Printing works fine") print(1+1)
当我在文件的顶部放置 import requests
时,我会得到以下错误,并且它下面的内容都不会执行:
[Running] /usr/bin/python \"/Users/me/Documents/developerNew/python/tempCodeRunnerFile.py\"
Traceback (most recent call last):
File \"/Users/me/Documents/developerNew/python/tempCodeRunnerFile.py\", line 1, in
import requests
ImportError: No module named requests
我把文件命名为其他名称,所以我认为我的问题出在 \"tempCodeRunnnerFile.py\" 中。我尝试删除 codeRunner.executorMap
的覆盖,但似乎也不起作用。
我已经没有任何想法了。如果你有建议,请告诉我。谢谢你的阅读。
主要问题是 pip
找到了某个其他的解释器而不是 /usr/bin/python
,快速解决方案是使用 get-pip.py
安装 pip:
wget https://bootstrap.pypa.io/get-pip.py && sudo /usr/bin/python get-pip.py
为了调试,which pip
命令如您所述输出了:
/usr/local/bin/pip
所以 pip
存在,只是指向了其他解释器,在我的 Linux 系统上,如果我检查每个 pip 变种:
padraic@dell:~$ which pip /usr/local/bin/pip padraic@dell:~$ which pip2 /usr/local/bin/pip2 padraic@dell:~$ which pip3 /usr/local/bin/pip3
我们看到 /usr/local/bin/pip
指向了我的 python3
解释器。
到目前为止,一个更好的选择是使用 venv
并且最好使用 python3
,python3.6
与所有以往版本相比有着很多巨大的改进,创建 venv
:
python -m venv venv
我很久没用过 vscode 了,但是我记得可以使用 workspaceRoot 来设置路径,我一直使用 venv
作为我的虚拟环境名称,所以像 "python.pythonPath": "${workspaceRoot}/venv/bin/python"
这样的东西应该能正常工作。
为了在 venv
中安装包,只需要激活即可:
. venv/bin/activate pip install ....
使用 venv 可以在长期内为您省去许多麻烦,并大大降低您搞砸操作系统的机会。