zoe*_*uff 8 python pip python-requests
在OS X中编写一些python,它说我用pip"ImportError:no module named requests"安装了几个软件包
运行pip安装请求时
> sudo -H pip install requests
Requirement already satisfied: requests in /usr/local/lib/python2.7/site-packages
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python2.7/site-packages (from requests)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python2.7/site-packages (from requests)
Requirement already satisfied: urllib3<1.22,>=1.21.1 in /usr/local/lib/python2.7/site-packages (from requests)
Requirement already satisfied: idna<2.6,>=2.5 in /usr/local/lib/python2.7/site-packages (from requests)
Run Code Online (Sandbox Code Playgroud)
它在twindb_cloudflare,requests,group,tarutil和MySQL DB上出错.我能够在另一个脚本(在同一文件夹中)运行完全相同的导入而不会出错.
Abh*_*ikh 12
在命令提示符下运行.
pip list
Run Code Online (Sandbox Code Playgroud)
如果您有旧版本,请检查系统上安装的版本.
尝试卸载包...
pip uninstall requests
Run Code Online (Sandbox Code Playgroud)
尝试安装后:
pip install requests
Run Code Online (Sandbox Code Playgroud)
您还可以测试pip是否不起作用.
easy_install requests
Run Code Online (Sandbox Code Playgroud)
小智 11
我也曾被这个问题困扰,最后找到了解决办法。
默认为用户安装,因为普通站点包不可写
已满足要求: django 在 /usr/lib/python3/dist-packages (2.2.12)
使用“sudo”来解决用户安装问题;
和 pip install --target=/usr/local/python3.7/site-packages --upgrade {module_name}
有人提到过这一点并为我工作。
方法一
如果你的系统安装了多个 Python 版本,就像我的 ubuntu 中默认的 Python 版本是python和python3,那么 pip 也有不同的版本,例如pip和pip3。因此,在这种情况下,可以通过特定的 Python 版本访问 pip,-m如下所示:
python3 -m pip install package_name
Run Code Online (Sandbox Code Playgroud)
或者
python -m pip install package_name
Run Code Online (Sandbox Code Playgroud)
sudo如果您使用的是 Linux,请确保使用。
方法二
您需要找到安装目录(Python 从中找到模块)。为此,运行以下 Python 脚本:
import sys
print(sys.path)
Run Code Online (Sandbox Code Playgroud)
就我而言,它返回:
['', '/usr/lib/python38.zip', '/usr/lib/python3.8', '/usr/lib/python3.8/lib-dynload', '/home/mudasir_habib/.local/lib/python3.8/site-packages', '/usr/local/lib/python3.8/dist-packages', '/usr/lib/python3/dist-packages']
Run Code Online (Sandbox Code Playgroud)
这些是 Python 用于查找模块的路径,我复制了dist-packages路径。现在通过提供安装目标路径来运行命令,如下所示:
python -m pip install package_name -t /your/copied/path
Run Code Online (Sandbox Code Playgroud)
就我而言,我运行以下命令来解决我的问题:
sudo python3 -m pip install keras -t /usr/lib/python3/dist-packages
Run Code Online (Sandbox Code Playgroud)
如果您使用的是 Mac,则可能是使用 pip 安装了模块(即 python2,但使用 python3 执行代码,而 python3 没有为 python2 安装的模块)。
Mac 将 python 版本 2 设置为默认值,通常不预装 pip 或与版本 2 链接。我建议保持这种方式。将版本 3 用于您的个人用例,并将您的 Mac 保留为默认版本 2。由于您必须自己安装 python3,这意味着您可能还想检查/安装 pip3。
检查是否安装了 python 3:
python3 --version
Run Code Online (Sandbox Code Playgroud)
检查是否安装了 pip3(从 python 3.4 开始通常默认包含):
pip3 --version
Run Code Online (Sandbox Code Playgroud)
检查您使用 pip3 安装了哪些软件包:
pip3 list
Run Code Online (Sandbox Code Playgroud)
如果您使用编辑器工具,请确保在运行文件时将其设置为使用 python3。
VS Code 示例:将 VS Code 设置为使用右下角的 Python3,打开 .py 文件时您应该会看到:
现在,如果您想将任何模块导入 python,请确保使用 pip3 安装它们:
pip3 install package_name
Run Code Online (Sandbox Code Playgroud)
如果遇到权限问题,您可以考虑使用 sudo 权限运行命令:
sudo pip3 install package_name
Run Code Online (Sandbox Code Playgroud)
就我而言,我运行的是 Jupyter 附带的 Python 版本,它显然将模块安装在与默认位置不同的位置。我通过在 Jupyter 中运行它发现了这一点:
import sys
sys.executable
Run Code Online (Sandbox Code Playgroud)
这给了我
'/usr/local/Cellar/jupyterlab/3.0.13/libexec/bin/python3.9'
Run Code Online (Sandbox Code Playgroud)
然后我就可以在 Jupyter 中运行以下命令:
!/usr/local/Cellar/jupyterlab/3.0.13/libexec/bin/python3.9 -m pip install scipy matplotlib
Run Code Online (Sandbox Code Playgroud)
然后我就可以导入我的模块了:
import scipy.stats
import matplotlib
Run Code Online (Sandbox Code Playgroud)