使用Visual Studio Code将请求导入Python

前言:我在
this post中尝试了所有建议.它们都没有用.

我正在尝试将模块请求导入Python文件(使用Python 2.7.14).

Visual Studio Code在控制台中输出:

ImportError: No module named requests

在挖掘时,我发现我没有安装请求,所以我使用终端的以下命令修复了这个问题:

sudo pip安装请求,基于this answer与bazillion upvotes.

我关闭了VS Code并重新启动它,打开我的Python文件,运行它,我得到了同样的错误.我接着尝试了每个解决方案,希望能有效.没有.

我最近安装了anaconda,我怀疑这是我的问题的根源,所以我卸载了我可以通过brew找到的每个Python实例,以及基于this answer在我的硬盘上累积的其他安装的部分的杂散安装.

然后我在运行brew doctor,brew prune等后从头开始重新安装python.

我还深入研究了Visual Studio Code中的代码设置,看看我的问题是否存在.其中一个建议是在code-runner.executorMap设置中覆盖python的设置,所以我输入了Terminal中的哪个python来获取python的路径并将VS Code的用户设置更新为python返回的路径.现在,我使用它作为python的code-runner.executorMap:

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

我已经验证了Python的工作原理是抛出几个简单的语句:

print("Printing works fine")
print(1+1)

我将导入请求放在文件顶部的那一刻,我得到了这个错误,并且它执行下面没有任何内容:

[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

我的文件名为other else,所以我认为我的问题存在于“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 

要调试,在评论输出时使用哪个点:

/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作为我的virtualenv名称,所以像“python.pythonPath”:“${workspaceRoot} / venv / bin / python”应该工作正常.

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

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

从长远来看,使用venv将为您节省很多麻烦,并大大减少搞砸操作系统的可能性.

点赞