使用Visual Studio Code将请求导入Python

Importing requests into Python using Visual Studio Code

前言:我试过这篇文章中的每一个建议。它们都不起作用。

我试图将模块requests导入到一个python文件中(使用python2.7.14)。

Visual Studio代码在控制台中输出了此代码:

ImportError: No module named requests

在挖掘过程中,我发现我没有安装requests,所以我用终端的以下命令修复了它:

根据这个答案,sudo pip install requests获得了数不清的赞成票。

我关闭了vs代码并重新启动了它,打开了我的python文件,运行了它,得到了相同的错误。我开始尝试每个解决方案,希望其中一个能奏效。没有。

我最近安装了anaconda,我怀疑这是我问题的根源,所以我卸载了通过brew可以找到的所有python实例,也卸载了一些杂散的安装,这些安装是基于这个答案,随着时间的推移在我的硬盘上积累的其他安装的一部分。

在运行brew doctorbrew prune等之后,我重新安装了python。

我还深入研究了Visual Studio代码中的代码设置,看看这是否是我的问题所在。其中一个建议是覆盖code-runner.executorMap设置中的python设置,所以我在终端中键入which python,以获取到python的路径,并将vs代码的用户设置更新为返回的which python路径。现在,我用这个作为我的code-runner.executorMap用于python

1
2
3
"code-runner.executorMap": {
   "python" :"/usr/bin/python"
}

我已经验证了python的工作原理,在下面的代码中加入了几个简单的语句:

1
2
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"中。我试着取消对EDOCX1的覆盖(15),但这似乎也不起作用。

我没主意了。如果你有,我欢迎你的建议。谢谢你的阅读。


主要问题是pip是指/usr/bin/python以外的一些解释器,快速的解决方案是使用get-pip.py安装pip:

1
wget https://bootstrap.pypa.io/get-pip.py && sudo /usr/bin/python get-pip.py

要进行调试,请在注释输出时使用which pip

1
/usr/local/bin/pip

因此,pip就在这里,它只是指向我的Linux框中的其他解释器,如果我检查pip的每个变体:

1
2
3
4
5
6
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,最好是python3python3.6比所有以前的版本有许多巨大的改进,以创建venv

1
python -m venv venv

我用了vscode已经有一段时间了,但是从内存来看,我认为你可以使用workspaceRoot来设置路径,我使用venv作为我的virtualenv名称,所以像"python.pythonPath":"${workspaceRoot}/venv/bin/python"这样的东西应该可以正常工作。

要为venv安装软件包,只需激活:

1
2
. venv/bin/activate
pip install ....

从长远来看,使用Venv可以减轻你的头痛,并大大降低操作系统出错的几率。