Pip无法正常工作:ImportError:没有名为“ pip._internal”的模块


62

运行结果pippip3结果:

Traceback (most recent call last):
File "/home/myuser/.local/bin/pip", line 7, in <module>
from pip._internal import main
ImportError: No module named 'pip._internal'

我对此有疑问,并卸载了pip3,但是当我尝试再次使用进行安装时,

sudo apt-get -y install python3-pip

它确实安装,但然后运行pip或pip3我得到相同的错误。

#which pip3
/home/myuser/.local/bin/pip3

2
从pip 9.0.2升级到pip-10.0.0后,我遇到类似的问题。Ubuntu 16.04LTS在这里。
戴夫

2
您不应该在Ubuntu上升级到pip 10,因为通过apt安装的系统版本的修改方式与pip 10不兼容。请参见github.com/pypa/pip/issues/5221 @Dave
Byte Commander

macOS 10.13.4,升级到pip 10后遇到相同的问题
Benjamin R

1
临时解决方法:python3 -m pip install --user <package>
Benjamin R

1
如果有easy_install(来自python-setuptools软件包),则可以sudo easy_install pip(或sudo easy_install3 pip仅用于python3等)
Marek Sebera,

Answers:


114

升级后pip(或pip3本例中的),如果发生以下情况:

$ ~ pip3 -V
Traceback (most recent call last):
  File "/usr/local/bin/pip", line 7, in <module>
    from pip._internal import main
ModuleNotFoundError: No module named 'pip._internal'

强制重新安装pip:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py --force-reinstall

验证安装:

$ ~ pip3 -V
pip 10.0.1 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)

现在pip3 install <package>pip3 install --user <package>(对于用户级安装)将正常运行。

绝对没有任何理由需要在提升模式下运行pip。

(注意:对于Python 2.7,只需更换pythonpython3,并且pippip3

在macOS上也有同样的问题,这是跨平台的常见问题。


1
对覆盆子也很好用
gtatr

1
先生,您是英雄。在solus上遇到了这个问题,它就像一个魅力。
cirrusio

1
Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/bin/pip3'
endolith '18

1
@endolith好的,现在您要使用sudo rm -rf /usr/bin/pip3–首先清除现有目录,然后从头开始安装。这是该目录上的权限问题,但我相信在这种情况下最好重设,您始终可以轻松地重新安装丢失的任何软件包。如果这不起作用,也请安装Python 3,然后重新启动。
本杰明·R

1
@endolith嗨,这取决于您的操作系统(如果是Linux,则是发行版)。让我知道,我会尽力为您指明正确的方向。ps我们一直在您的位置上的次数比我们大多数人都喜欢的要多:)
Benjamin R



2

我遇到了与您刚才相同的问题,我发现原因是您在没有超级用户特权的情况下工作,因为一些内部python软件包或模块是以超级用户特权安装的。

因此,您可以sudo su先输入尝试尝试,然后输入密码并运行pip install,这可能会有所帮助。


3
您永远都不需要以pip提升的权限运行。请改用--user标记,例如:pip3 install --user <package>
Benjamin R

1
但是,当我在没有超级用户许可的情况下运行时,我仍然得到类似回溯的信息 (最近一次调用最近):pip._internal import main在<module> \\中的文件“ / usr / local / bin / pip3”,第7行。ImportError:没有名为“ pip._internal”的模块, 能否请您帮我弄清楚为什么总是这样?pip3 install --user
Yuke '18

2
好的,我发现了为什么from pip._internal import main在我的解决方案中发生错误的原因:1)curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py2)python3 get-pip.py --user --force-reinstall,然后您可以在pip没有超级用户许可的情况下运行,非常感谢您的建议,它很有帮助!
Yuke '18

我的荣幸!看,我学会了一种艰难的方法,要谨慎使用sudowilly-nilly(多次破坏了我的OS!)
Benjamin R


2

应用以下三个步骤:

  1. /usr/local/bin通过终端转到
  2. 执行 sudo gedit pip
  3. 将更from pip._internal import main改为from pip import main

0

点子版本现在是19.0.1:

which pip3
#/home/xxx/.local/bin/pip3
vim /home/xxx/.local/bin/pip3

更改from pip._internal import mainfrom pip import main


0

使用以下命令检查是否已安装pip

pip3 -V 

要么

pip3 --version

如果不使用此命令来安装它:

sudo apt install python3-pip

现在您可以使用

python3 -m pip install packageName

使用pip安装软件包。


这就是OP已经存在的问题。
Nik O'Lai
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.