前言:我已在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实例,以及其他安装的杂散安装根据{{3}}在我的硬盘上累积。
然后我在运行brew doctor
,brew prune
等后从头开始重新安装python。
我还深入研究了Visual Studio Code中的代码设置,看看我的问题是否存在。其中一项建议是覆盖python
设置中code-runner.executorMap
的设置,因此我在终端中键入which python
以获取python
的路径并更新了VS Code&#39 ;■返回路径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" Traceback(最近一次调用最后一次): File" /Users/me/Documents/developerNew/python/tempCodeRunnerFile.py" ;,第1行,在 导入请求 ImportError:没有名为requests的模块
我的文件名为其他内容,所以我认为我的问题存在于" tempCodeRunnnerFile.py"中。我尝试删除codeRunner.executorMap
的覆盖,但这似乎也无效。
我没有想法。如果你有,我欢迎你的建议。谢谢你的阅读。
答案 0 :(得分:1)
主要问题是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
就在那里,如果我检查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
作为我的virtualenv名称,所以像{ {1}}应该可以正常工作。
要安装"python.pythonPath": "${workspaceRoot}/venv/bin/python"
的软件包,您只需要激活:
venv
使用 venv的可以为您节省很多麻烦,并且大大减少了搞砸操作系统的可能性。
答案 1 :(得分:0)
VSCode似乎可以让您这样导入,
import pip._vendor.requests
或
from pip._vendor import requests
不确定为什么会这样。但这会发生!
答案 2 :(得分:0)
您还有一个选择,可以按照以下步骤操作:
2)提取
3)将其复制到Visual Studio项目文件夹中
4)将其包含在项目中
5)导入代码文件