在 Visual Studio Code 中导入 requests 库到 Python。

20 浏览
0 Comments

在 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 doctorbrew prune等命令。

我还深入了解了Visual Studio Code中的代码设置,以查看问题是否出在这里。其中一条建议是在code-runner.executorMap设置中覆盖python的设置,因此我在Terminal中键入which python以获取python的路径,并更新了VS Code的用户设置以使用which python返回的路径。现在,我正在将此用作我的code-runner.executorMappython

"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 的覆盖,但似乎也不起作用。

我已经没有任何想法了。如果你有建议,请告诉我。谢谢你的阅读。

admin 更改状态以发布 2023年5月21日
0
0 Comments

主要问题是 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 并且最好使用 python3python3.6 与所有以往版本相比有着很多巨大的改进,创建 venv

python -m venv venv 

我很久没用过 vscode 了,但是我记得可以使用 workspaceRoot 来设置路径,我一直使用 venv 作为我的虚拟环境名称,所以像 "python.pythonPath": "${workspaceRoot}/venv/bin/python" 这样的东西应该能正常工作。

为了在 venv 中安装包,只需要激活即可:

. venv/bin/activate
pip install ....

使用 venv 可以在长期内为您省去许多麻烦,并大大降低您搞砸操作系统的机会。

0
0 Comments

VSCode似乎可以像这样导入:

import pip._vendor.requests

或者

from pip._vendor import requests

不确定为什么会这样发生,但是确实发生了!

0