使用 Visual Studio Code 将请求导入 Python
Posted
技术标签:
【中文标题】使用 Visual Studio Code 将请求导入 Python【英文标题】:Importing requests into Python using Visual Studio Code 【发布时间】:2018-07-24 08:25:58 【问题描述】:前言:我已经尝试了this post 中的所有建议。它们都不起作用。
我正在尝试将模块 requests
导入 Python 文件(使用 Python 2.7.14)。
Visual Studio Code 在控制台中输出了这个:
ImportError: 没有名为 requests 的模块
在挖掘时,我发现我没有安装 requests
,所以我使用终端中的以下命令修复了这个问题:
sudo pip install requests
,基于this answer,获得无数赞。
我关闭 VS Code 并重新启动它,打开我的 Python 文件,运行它,我得到了同样的错误。我继续尝试每种解决方案,希望其中一种能奏效。没有。
我最近安装了anaconda
,我怀疑这是我的问题的根源,所以我卸载了我可以通过brew
找到的每个 Python 实例,以及随时间累积的其他安装的一部分的杂散安装我的硬盘基于this answer。
然后我在运行brew doctor
、brew prune
等之后从头开始重新安装了python。
我还深入研究了 Visual Studio Code 中的代码设置,看看是否可能是我的问题所在。其中一个建议是在code-runner.executorMap
设置中覆盖python
的设置,因此我在终端中键入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
放在文件顶部的那一刻,我得到了这个错误,下面没有任何执行:
[运行] /usr/bin/python "/Users/me/Documents/developerNew/python/tempCodeRunnerFile.py" 回溯(最近一次通话最后): 文件“/Users/me/Documents/developerNew/python/tempCodeRunnerFile.py”,第 1 行,在 导入请求 ImportError:没有名为 requests 的模块
我将文件命名为其他名称,所以我认为我的问题存在于“tempCodeRunnnerFile.py”中。我尝试删除 codeRunner.executorMap
的覆盖,但这似乎也不起作用。
我没有想法。如果你有,我欢迎你的建议。感谢您的阅读。
【问题讨论】:
可能与您的问题无关,但您应该真正使用使用 venv。除了那次尝试,sudo /usr/bin/python -m pip install requests
。 pip 不一定指向您认为的解释器,另一种选择是专门使用pip2
。您可能还会发现这很有用***.com/questions/24664435/…
@PadraicCunningham 谢谢。我试过了,我在控制台中得到了这个:/usr/bin/python: No module named pip
。我在终端中输入了which pip
,它会输出:/usr/local/bin/pip
。
你有多个安装在那里,这将工作wget https://bootstrap.pypa.io/get-pip.py && sudo /usr/bin/python get-pip.py
但除非你有一个明确的要求我也会使用> =py3.6
并且肯定使用一个venv。 which -a python
也将提供信息,which -a python2
和 which -a python3
谢谢!我 RN youtube.com/watch?v=9N0OHdRFcJA 发帖作为答案,我会接受。
@Adrian,别担心,我添加了答案。
【参考方案1】:
主要问题是pip
指的是/usr/bin/python
以外的一些解释器,快速的解决方案是安装pip使用get-pip.py
:
wget https://bootstrap.pypa.io/get-pip.py && sudo /usr/bin/python get-pip.py
要调试,which pip
你评论输出:
/usr/local/bin/pip
所以pip
在那里,如果我检查 pip 的每个变体,它只是指向其他解释器,在我的 linux 机器上:
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's 将为您省去很多麻烦,并大大减少搞砸操作系统的机会。
【讨论】:
【参考方案2】:VSCode 好像可以让你这样导入,
import pip._vendor.requests
或
from pip._vendor import requests
不知道为什么会这样。但这会发生!
【讨论】:
【参考方案3】:您还有一个选择,您可以按照以下步骤操作:
1)下载包https://files.pythonhosted.org/packages/f5/4f/280162d4bd4d8aad241a21aecff7a6e46891b905a4341e7ab549ebaf7915/requests-2.23.0.tar.gz
2)解压
3)复制到visual studio项目文件夹中
4)将其包含在项目中
5)导入代码文件
【讨论】:
以上是关于使用 Visual Studio Code 将请求导入 Python的主要内容,如果未能解决你的问题,请参考以下文章
在 Visual Studio Code 中使用建议的方法参数
Visual Studio Code:无法将 ESLint 修复应用于文档
将 Visual Studio Code 连接到 Codeanywhere 容器