我得到
ImportError : no module named 'requests'
。
但是我已经使用命令
requests
安装了 pip install requests
软件包。
在命令提示符下运行命令
pip freeze
,结果是
requests==2.7.0
那么为什么在运行 python 文件时会发生这种错误呢?
在命令提示符下运行。
pip list
如果您有旧版本,请检查您的系统上安装的版本。
尝试卸载该软件包...
pip uninstall requests
安装后尝试:
pip install requests
您还可以测试 pip 是否无法完成这项工作。
easy_install requests
我之前在执行 python3 脚本时遇到了这个错误,之后:
sudo pip3 install requests
问题解决了,如果你使用的是python3,请尝试一下。
一个可能的原因是您的环境中有多个 python 可执行文件,例如 2.6.x、2.7.x 或 virtaulenv。您可以将软件包安装到其中一个中,然后使用另一个运行您的脚本。
在提示符中输入 python,然后按 Tab 键查看您的环境中的 Python 版本。
在 Windows 中,只有在尝试以下操作后,它才对我起作用: 1. 在解压“requests”的文件夹中打开cmd。 (CTRL+SHIFT+鼠标右键单击,选择适当的弹出菜单项) 2.(这是你的pip3.exe的路径)\pip3.exe安装请求 完成
如果它在你这样做时有效:
python
>>> import requests
那么可能是您计算机上的先前版本的 python 与您尝试使用的版本不匹配
在这种情况下:检查你的工作 python 的位置:
which python
并确保它与 python 代码中的第一行匹配
#!<path_from_which_python_command>
在已安装的请求文件夹的位置打开 CMD 并运行“pip install requests”对我有用。我正在使用两个不同版本的Python。
我认为这是可行的,因为请求现在安装在我的虚拟环境之外。还没有检查过,但只是想我会把这个写进去,以防其他人在谷歌上疯狂搜索。
使用 conda 也遇到同样的问题。
pip show | grep <module>
显示了该模块,但是当我继续使用 python myscript.py 运行脚本时,它无法识别它。
问题是,即使我从 conda env 中执行 pip,执行的也不是虚拟环境 pip,而是另一个。要检查使用哪个点,请尝试:
which -a pip
就我而言,我的 conda env 是“user_queries”,但使用的 pip 版本是
/home/linuxbrew/.linuxbrew/bin/pip
。
/home/linuxbrew/.linuxbrew/bin/pip
/home/linuxbrew/.linuxbrew/bin/pip
/home/myuser/anaconda3/envs/user_queries/bin/pip
/usr/bin/pip
/bin/pip
一个简单的解决方法是使用 virtualenv pip 安装的绝对路径来安装您的需求,如下所示:
/home/myuser/anaconda3/envs/user_queries/bin/pip install -r requirements.txt
或
/home/myuser/anaconda3/envs/user_queries/bin/pip install requests