我试图测试请求模块是否已正确安装。但我收到以下错误:
raceback (most recent call last):
File "/Users/macbookpro/Desktop/test.py", line 1, in <module>
import requests
ImportError: No module named requests
尝试运行以下测试脚本时:
import requests
print 'test'
但我已经用pip安装了请求,pip list
命令给出了以下结果:
MBPdeMacBook2:~ macbookpro$ pip list
arrow (0.7.0)
beautifulsoup4 (4.4.1)
classifier (1.6.5)
coursera-dl (0.6.1)
Django (1.8.6)
html5lib (1.0b8)
keyring (9.0)
lxml (3.6.0)
Pillow (3.4.2)
pip (8.0.2)
pyasn1 (0.1.9)
requests (2.14.2)
setuptools (19.4)
six (1.10.0)
urllib3 (1.16)
vboxapi (1.0)
virtualenv (13.1.2)
wheel (0.26.0)
为什么请求未被导入?
编辑:
MBPdeMacBook2:~ macbookpro$ which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
MBPdeMacBook2:~ macbookpro$ which pip
/usr/local/bin/pip
MBPdeMacBook2:~ macbookpro$ python --version
Python 2.7.11
MBPdeMacBook2:~ macbookpro$ pip --version
pip 8.0.2 from /usr/local/lib/python2.7/site-packages (python 2.7)
答案 0 :(得分:2)
我不是百分百确定,但which python
和which pip
的路径可能表示您安装了两个版本。 Python版本是OS X附带的旧版本,另一个版本。
我建议你从brew安装Python27(甚至更好的Python3)。
您可以安装brew with a single command,另一个用于安装Python27 / 3。完成后,在shell rc文件中设置PATH
变量,你应该好好去。
我安装了Python27(通过brew),我的(工作环境)报告了以下路径:
which python: /usr/local/bin/python
which pip: /usr/local/bin/pip
和
python --version: 2.7.15
pip --version: pip 9.0.1 from /usr/local/lib/python2.7/site-packages (python2.7)
答案 1 :(得分:2)
一般来说,你应养成在virtualenv
工作的习惯。我发现文档here很有帮助。
如果您在虚拟环境中安装所有依赖项,那么(大多数)您将确保安装这些deps。在您正在运行作业的相同环境中。
对于您的情况,请转到命令行所在的目录并运行
pip install virtualenv
virtualenv my_project
source my_project/bin/activate
现在virtualenv处于活动状态,你可以
pip install requests
只有virtualenv中安装的内容才可用。这将使您的系统保持清洁。每个项目都应该有自己的virtualenv,这意味着只有每个项目所需的依赖项才可用。这样,您可以为一个项目安装一些依赖项的版本1,为另一个项目安装版本2。他们不会发生冲突。
安装完所有依赖项后,运行
pip freeze > requirements.txt
获取已保存项目的所有依赖项的列表。下次需要安装时,只需运行
即可pip install -r requirements.txt
完成virtualenv的工作后,运行
deactivate
答案 2 :(得分:1)
我在Ubuntu 18.04 LTS上遇到了同样的问题,要进行检查,首先检查系统中是否安装了请求库。
在您工作的虚拟环境中的终端上运行这些命令
$ python
然后打开python命令行,然后运行
>>> import requests
在此之后,如果出现ImportError的提示,即“没有模块命名为请求”,则表示该依赖项尚未正确安装。如果没有这样的错误,则表示依赖项已成功安装。
答案 3 :(得分:0)
例如,如果pip实际上是pip3而python实际上是python2.7,则会发生这种情况。 在你的情况下,哪个pip和哪个python消除了这种可能性,但它刚好发生在我身上。
解决方案是做pip2而不是pip;如果情况被逆转,你可以使用pip3。
答案 4 :(得分:0)
只需进入您的虚拟环境并运行以下命令:
1)。 pip install --user pipenv 2)。 pipenv 安装请求
在执行上述命令后 cd 到虚拟环境中的应用程序文件夹并运行它。希望现在它会运行。