运行'pip install'时出错:"ImportError: No module named pip"
操作系统:Mac OS X 10.7.5 (Lion)
请参阅Python:2.7.5
我已经使用 https://pypi.python.org/pypi/setuptools 中的 ez_setup.py 安装了 setuptools 1.0。
然后我从 https://pypi.python.org/pypi/pip/1.4.1 下载了 pip.1.4.1 pkg。
我在 iTerm 中运行 (sudo) python setup.py install
,输出:
running install
running bdist_egg running egg_info writing requirements to
pip.egg-info/requires.txt writing pip.egg-info/PKG-INFO writing
top-level names to pip.egg-info/top_level.txt writing dependency_links
to pip.egg-info/dependency_links.txt writing entry points to
pip.egg-info/entry_points.txt warning: manifest_maker: standard file
'setup.py' not found
reading manifest file 'pip.egg-info/SOURCES.txt' writing manifest file
'pip.egg-info/SOURCES.txt' installing library code to
build/bdist.macosx-10.6-intel/egg running install_lib warning:
install_lib: 'build/lib' does not exist -- no Python modules to
install
creating build/bdist.macosx-10.6-intel/egg creating
build/bdist.macosx-10.6-intel/egg/EGG-INFO copying
pip.egg-info/PKG-INFO -> build/bdist.macosx-10.6-intel/egg/EGG-INFO
copying pip.egg-info/SOURCES.txt ->
build/bdist.macosx-10.6-intel/egg/EGG-INFO copying
pip.egg-info/dependency_links.txt ->
build/bdist.macosx-10.6-intel/egg/EGG-INFO copying
pip.egg-info/entry_points.txt ->
build/bdist.macosx-10.6-intel/egg/EGG-INFO copying
pip.egg-info/not-zip-safe ->
build/bdist.macosx-10.6-intel/egg/EGG-INFO copying
pip.egg-info/requires.txt ->
build/bdist.macosx-10.6-intel/egg/EGG-INFO copying
pip.egg-info/top_level.txt ->
build/bdist.macosx-10.6-intel/egg/EGG-INFO creating
'dist/pip-1.4.1-py2.7.egg' and adding
'build/bdist.macosx-10.6-intel/egg' to it removing
'build/bdist.macosx-10.6-intel/egg' (and everything under it)
Processing pip-1.4.1-py2.7.egg removing
'/Users/dl/Library/Python/2.7/lib/python/site-packages/pip-1.4.1-py2.7.egg'
(and everything under it) creating
/Users/dl/Library/Python/2.7/lib/python/site-packages/pip-1.4.1-py2.7.egg
Extracting pip-1.4.1-py2.7.egg to
/Users/dl/Library/Python/2.7/lib/python/site-packages pip 1.4.1 is
already the active version in easy-install.pth Installing pip script
to /Users/dl/Library/Python/2.7/bin Installing pip-2.7 script to
/Users/dl/Library/Python/2.7/bin
Installed
/Users/dl/Library/Python/2.7/lib/python/site-packages/pip-1.4.1-py2.7.egg
Processing dependencies for pip==1.4.1 Finished processing
dependencies for pip==1.4.1
然后我运行pip install
并收到以下错误消息:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/2.7/bin/pip", line 9, in <module>
load_entry_point('pip==1.4.1', 'console_scripts', 'pip')()
File "build/bdist.macosx-10.6-intel/egg/pkg_resources.py", line 357, in load_entry_point
File "build/bdist.macosx-10.6-intel/egg/pkg_resources.py", line 2394, in load_entry_point
File "build/bdist.macosx-10.6-intel/egg/pkg_resources.py", line 2108, in load
ImportError: No module named pip
我该如何解决?
python -m pip install <package>
问题时,我总是尝试这个命令
- MartinP 2016-06-14
pip
是有原因的。 手动安装pip
并更改Python系统的软件包在最坏的情况下可能会破坏你的系统!除非你完全确定你的Python系统需要pip
,否则你需要单独的 Python 实例——例如 venv 或单独的安装——现在应该自动随 pip
一起发布。
- MisterMiyagi 2022-08-29
我的 Ubuntu 机器的解决方案:
对于Python 3
sudo apt install python3-pip
对于Python 2
sudo apt install python-pip
sudo yum install -y python38-pip
成功了!谢谢..
- user3999721 2021-11-16
Package python-pip is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: python3-pip E: Package 'python-pip' has no installation candidate
和E: Unable to locate package python2-pip
- Drake P 2022-02-22
使用 macOS v10.15 (Catalina) 和 Homebrew 2.1.6,我在使用 Python 时遇到此错误3.7.我只需要运行:
python3 -m ensurepip
现在python3 -m pip
对我有用。
sudo apt install python3-pip
解决了
- tuxErrante 2019-11-18
pip install --upgrade pip
后,我的pip就消失了(因为pip已成功卸载,但由于pip.exe正忙而无法重新安装......)。 python -m ensurepip
带回了默认的pip,从中我可以采取正确的升级路径python -m pip install --upgrade pip
- Adrian W 2020-11-30
python -m ensurepip
- Daniel 2021-10-29
在 Mac 上,使用 Homebrew (可执行文件 brew
)是一个更好的选择,因为 < apt-get 不可用。
命令:
brew install python
如果您的计算机上同时安装了 Python 2 和 Python 3:
python2.7 -m ensurepip --default-pip
只是应该解决问题。
如果您缺少 Python 3 中的 pip,则只需在上面的命令中将 python2.7
更改为 python3
即可。
brew install python
安装 python 后,找不到 pip:python3 -m pip install redis
导致找不到 pip。按照你的方法(python3 -m ...)就成功了。
- Raipe 2018-05-17
sudo python3 -m pip install matplotlib
(我必须通过 sudo 执行此操作,否则某些文件夹权限不起作用)。 (相应地编辑了答案)
- SCBuergel 2019-01-05
sudo
即可。
- vicegax 2021-01-07
sudo
与 pip 一起使用。您不应该使用额外的库来修改操作系统 Python 安装。学习使用venv
- OneCricketeer 2023-04-04
对于 Windows:
python -m ensurepip
激活您的环境后。示例:venv
(venv) PS D:\your path> d:\your path\venv\scripts\python.exe -m pip install --upgrade pip
结果示例:
Collecting pip
Using cached pip-21.3-py3-none-any.whl (1.7 MB)
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 20.1.1
Uninstalling pip-20.1.1:
Successfully uninstalled pip-20.1.1
Successfully installed pip-21.3
venv
=> error 500 中不再有模块。 Apache 日志说:“ no module named django”。另外PIP
似乎没有安装。在我的 VENV 中 ensurepip 之后,我刚刚运行 pip install -r requirements.txt
(因为 pip freeze
返回空结果)并且我的所有模块都返回了。网站如果再住。谢谢@Fethi Pounct。如果您想了解 ensurepip 是什么,请查看此处
- Abpostman1 2022-12-08
安装ez_setup后,您应该可以使用easy_install
。要安装pip
只需执行以下操作:
easy_install pip
. "C:\Python\Python 3.8.6-64\python.exe" -m easy_install pip
之类的内容将安装定位到特定的 python 版本。
- Niko Föhr 2022-01-13
运行
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
然后在下载的文件夹中运行以下命令:get-pip.py
python get-pip.py
尝试通过Python安装pip
:
请访问:https://pip.pypa.io/en/stable/installation/
并下载get-pip.py
,然后运行:
python get-pip.py
sudo
npm/pip/gem & co - 这样做非常危险
- msanford 2022-01-16
在某种 Linux 上,例如基于 Debian 的发行版,您可能需要考虑更新 'apt-get',以防通过它安装 python-pip。
sudo apt-get update
这可能有助于apt-get更新其索引并找到python-pip包。 之后,您可以像这样安装 pip:
sudo apt-get install python-pip (Python 2)
sudo apt-get install python3-pip (Python 3)
我在 macOS v11 (Big Sur) 上使用 Python 3.8.6 时遇到了同样的错误。
无论我使用pip
还是pip3
,我都会收到以下错误:
File "/Users/marcelloromani/dev/<repository>/venv/bin/pip", line 5, in <module>
from pip._internal.cli.main import main
ModuleNotFoundError: No module named 'pip'
事实证明我的 virtualenv 已经过时了。 这为我解决了这个问题:
删除旧的 virtualenv
deactivate rm -rf venv
初始化一个新的virtualenv
virtualenv venv . venv/bin/activate
安装新的要求然后工作:
pip install -r src/requirements.txt
python --version
时获得的版本是否与 $VIRTUAL_ENV/lib/
目录中的版本不同。
- AC Capehart 2023-03-23
使用:
python -m ensurepip --user
如果您的 Mac 不高于 macOS v11 (Big Sur) 并且您安装了 Python 3。我这样做了,现在没有任何问题。我想又回到了 2.7 的旧版本。
尝试重新安装pip 使用curl命令下载get-pip.py文件:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
如果curl 不起作用,请打开此链接: get-pip.py
在您的目录中创建一个 get-pip.py 文件 从此链接复制代码并将其放入 get-pip.py 文件中,并将该文件保存在同一目录中。 然后运行命令
python get-pip.py
如果您在 Ubuntu 中没有名为 pip 的模块,请尝试以下操作:
python3 -m pip --version
输出:
/usr/bin/python3: No module named pip
和:
sudo apt-get install python3-pip
这对我有用。
安装成功后,验证使用
python3 -m pip --version
升级到最新的 pip 版本
python3 -m pip install --upgrade pip
Both /lib/terminfo/w/wsvt25m and /usr/lib/terminfo/w/wsvt25m exist
,知道吗?我在 WSL2 (Windows) 下使用 Ubuntu
- Itamar Katz 2022-11-23
当我尝试安装 Nova 客户端时,我遇到了同样的问题(以 root 用户身份)。
python setup.py install
输出:
running install
/usr/bin/python: No module named pip
error: /usr/bin/python -m pip.__init__ install 'pbr>=0.5.21,<1.0' 'iso8601>=0.1.4' 'PrettyTable>=0.6,<0.8' 'requests>=1.1' 'simplejson>=2.0.9' 'six' 'Babel>=0.9.6' returned 1
我使用 Homebrew,所以我用 sudo easy_install pip
解决了这个问题。
brew search pip
输出:
aespipe brew-pip lesspipe pipebench pipemeter spiped pipeviewer
If you meant "pip" precisely:
Homebrew provides pip via: `brew install python`. However you will then
have two Pythons installed on your Mac, so alternatively you can:
sudo easy_install pip
spencers-macbook-pro:python-novaclient
和:
sudo easy_install pip
如果您使用 MacPorts,这些命令应该类似。
下载:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
然后安装pip:
py get-pip.py
然后安装任何模块,例如 Biopython:
py -m pip install biopython
Python3
curl -sS https://bootstrap.pypa.io/get-pip.py | python3
python3 -m pip install --upgrade pip
只需在上面的命令中替换你想要的python版本即可
对于 python 3.11 特定安装
curl -sS https://bootstrap.pypa.io/get-pip.py | python3.11
python3.11 -m pip install --upgrade pip
对于 python 3.10 特定安装
curl -sS https://bootstrap.pypa.io/get-pip.py | python3.10
python3.10 -m pip install --upgrade pip
对于python2.7
curl -sS https://bootstrap.pypa.io/pip/2.7/get-pip.py | python2.7
python2.7 -m pip install --upgrade pip
我知道这个线程很旧,但我只是在 OS X 上为自己解决了这个问题,与这里描述的不同。
基本上我通过brew重新安装了Python 2.7,它附带了pip。
如果尚未安装 Xcode,请安装:
xcode-select –install
按照描述安装 Brew 这里:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
然后通过 Brew 安装 Python:
brew install python
你就完成了。就我而言,我只需要安装 pyserial。
pip install pyserial
ruby ...
和brew ...
。当运行pip ...
时,我得到了-bash: pip: command not found
。有任何想法吗?
- meaning-matters 2017-12-27
我认为以前的答案都无法解决您的问题。
我也曾经被这个问题困惑过。您应该按照官方指南pip 安装手动安装pip
(目前涉及运行单个get-pip.py
Python脚本)。
之后,只需pip install <your package>
。错误就会消失。
我从 此处 下载了 pip
二进制文件,它解决了问题。
当我使用命令创建新的 Python 3 虚拟环境时遇到了问题ModuleNotFoundError: No module named 'pip'
python3 -m venv ~/venv/ontology ## << note: "python3" (problematic)
这是经常建议的命令(此处,其他地方)。当我进入该 venv 时,找不到 pip。
在此期间,自从第一次使用该命令创建 Python 虚拟环境以来,我的系统 Python 已从 Python 3.7.4 升级(Arch Linux 系统更新)到 Python 3.9.2。
解决方法是使用命令
python -m venv <your_venv> ## e.g. python -m ~/venv/ontology
当我这样做时(python -m ...
而不是python3 -m ...
),那个 venv 现在包含pip
...
要在该 venv 中升级 pip
,请使用
<your_venv_path>/bin/python -m pip install --upgrade pip
## e.g.
## /home/victoria/venv/ontology/bin/python -m pip install --upgrade pip
我使用的是Debian,但这个解决方案也可以应用于Ubuntu。
- 通常,pip默认附带python,以便检查您的系统运行中是否安装了pip。
python -m pip --version
- 如果 pip 不存在,请使用 Aptitude Linux Package Manager 安装它,
# For Python 2 sudo apt install python-pip # For Python 3 sudo apt install python3-venv python3-pip
- 我不会在 Debian/Ubuntu 中使用
get-pip.py
脚本,因为在文档页面中提到了以下内容。
如果您使用的是由操作系统或其他包管理器管理的 Python 安装,请务必小心。 get-pip.py 不与这些工具协调,可能会使您的系统处于不一致的状态。
在终端中,尝试以下操作:
ls -lA /usr/local/bin | grep pip
就我而言,我得到:
-rwxr-xr-x 1 root root 284 Сен 13 16:20 pip
-rwxr-xr-x 1 root root 204 Окт 27 16:37 pip2
-rwxr-xr-x 1 root root 204 Окт 27 16:37 pip2.7
-rwxr-xr-x 1 root root 292 Сен 13 16:20 pip-3.4
所以在我的例子中pip2
或pip2.7
是有效的,并且pip。
很有可能是pip包更新不成功。 您需要删除并重新创建虚拟环境。
停用并删除虚拟环境:
deactivate
rm -rf [virtual_environment_name]
创建一个新的
python -m venv venv_name
激活它
source ./venv_name/Scripts/activate
安装你想要的包:
pip install [package_name]
以下是使用 MacPorts 升级到 Python 3 的一组最小说明:
sudo port install py37-pip
sudo port select --set pip pip37
sudo port select --set pip3 pip37
pip install numpy, scipy, matplotlib
我运行了一些旧代码,升级后它又可以工作了。
我在 Windows 11 上遇到了同样的错误,因此主要问题是执行 pip 命令没有管理员权限,因此请使用管理员权限打开终端,然后再次执行pip 命令。
--user
标志传递给pip
- OneCricketeer 2023-04-04
我只需要将pip
替换为pip3
,所以我最终运行了如下命令:pip3 install matplotlib
python3 -m pip
而不是别名
- OneCricketeer 2023-04-04
在从 requirements.txt
文件安装依赖项时,我对 virtualenv
也遇到了类似的问题,而 python3.8
也有。我设法通过激活virtualenv
然后运行命令python -m pip install -r requirements.txt
让它工作,它工作了。
我通过将 PYTHONPATH 设置为 site-packages 位置解决了 Linux 上的类似错误。这是运行python get-pip.py --prefix /home/chet/pip
之后的结果。
[chet@rhel1 ~]$ ~/pip/bin/pip -V
Traceback (most recent call last):
File "/home/chet/pip/bin/pip", line 7, in <module>
from pip import main
ImportError: No module named pip
[chet@rhel1 ~]$ export PYTHONPATH=/home/chet/pip/lib/python2.6/site-packages
[chet@rhel1 ~]$ ~/pip/bin/pip -V
pip 9.0.1 from /home/chet/pip/lib/python2.6/site-packages (python 2.6)
我按照此 URL 上的建议重命名了 python39._pth 文件。这解决了问题
ren python39._pth python39._pth.save
针对 Linux 进行了以下测试:
您可以直接从https://pypi.org/simple/pip/下载pip, 解压,并直接用于最新的 Python 安装。
tar -xvf pip-0.2.tar.gz
cd pip-0.2
检查内容:
ls
输出:
docs pip.egg-info pip-log.txt pip.py PKG-INFO regen-docs scripts setup.cfg setup.py tests
直接执行:
python pip.py --help
输出:
Usage: pip.py COMMAND [OPTIONS]
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-E DIR, --environment=DIR
virtualenv environment to run pip in (either give the
interpreter or the environment base directory)
-v, --verbose Give more output
-q, --quiet Give less output
--log=FILENAME Log file where a complete (maximum verbosity) record
will be kept
--proxy=PROXY Specify a proxy in the form
user:passwd@proxy.server:port. Note that the
user:password@ is optional and required only if you
are behind an authenticated proxy. If you provide
user@proxy.server:port then you will be prompted for a
password.
--timeout=SECONDS Set the socket timeout (default 15 seconds)
我的Python版本是3.7.3,这个命令有效:
python3.7 -m pip install requests
Requests 库 - 用于从 Web API 检索数据。
这会运行 pip 模块,并要求它在 pypi.org (Python Package Index)并将其安装在本地系统中,以便您可以导入。
对于 Windows:
如果下载Python时pip
不可用:运行命令
python get-pip.py
FileNotFound: get-pip.py
- OneCricketeer 2023-04-04