pip:没有名为_internal的模块

Gri*_*rem 71 python pip

当我尝试以任何方式使用pip时,我遇到了问题.我正在使用Ubuntu 16.04.4

我应该说我已经使用过了,我从来没有遇到过任何问题,但是从今天开始,当我使用任何命令时,我总会得到相同的错误(例如使用pip --upgrade).

Traceback (most recent call last):
  File "/usr/local/bin/pip", line 7, in <module>
    from pip._internal import main
ImportError: No module named _internal
Run Code Online (Sandbox Code Playgroud)

我尝试过sudo apt-get remove python-pip后续sudo apt-get install python-pip但没有改变.

感谢您的时间!

mag*_*rth 70

这样做对我来说:

python -m pip install --upgrade pip
Run Code Online (Sandbox Code Playgroud)

环境:通过brew安装OSX && Python

  • 谢谢,这是使用python3的解决方案。 (3认同)
  • 这对我没有用。@Grimdrem所做的是我最终要做的。我以前曾经安装过pip(使用sudo或其他东西)...并且升级是通过--user完成的,所以其他安装仍然挂在...从/ usr / local / bin和我的文件中删除它主要的python的package文件夹(不是--user)完成了这个任务。 (2认同)

Yon*_* Hu 58

askUbuntu的答案有效.

对于pip2.7,你可以在第一curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py,然后python2.7 get-pip.py --force-reinstall重新安装点子.

问题解决了.也适用于python3.

  • 这不适合我,我已经尝试了几次 (5认同)

Don*_*ore 23

您使用的是 python 2 还是 python 3?以下命令可能不同!

  1. 运行python3 -m pip --version以查看您是否安装了 pip。
  2. 如果是,请运行python3 -m pip install --upgrade pip
  3. 如果没有,运行sudo apt-get install python3-pip,然后再做一次。


Abd*_*sha 13

这个解决方案适合我xD

sudo python3 get-pip.py --force-reinstall

要么

使用sudo获得更高的权限: python

当然,我们可以使用python3而不是python;)

参考


Mik*_*son 12

为了完整起见,我刚刚在“Ubuntu latest”... v18.04 ... 中遇到了这个问题,并以这种方式修复了它:

python3 -m pip install --upgrade pip

(请注意,有必要指定,python3因为这引用了 Python 3.6.9。python同一系统上的命令引用了 Python 2.7.17。由于这显然是系统范围的安装,因此遇到了 ["not sudo" ...] 权限错误,但没关系,因为无论如何这是错误的。我遇到了问题pip3。)


zan*_*ngw 10

请参阅此问题列表

sudo easy_install pip
Run Code Online (Sandbox Code Playgroud)

适合我


小智 8

此问题可能是由于普通用户没有访问包py文件的权限.
1. root用户可以运行'pip list'2
.其他普通用户无法运行'pip list'

[~]$ pip list
Traceback (most recent call last):
  File "/usr/bin/pip", line 7, in <module>
from pip._internal import main
ImportError: No module named pip._internal
Run Code Online (Sandbox Code Playgroud)

检查pip py文件权限.

[root@]# ll /usr/lib/python2.7/site-packages/pip/  
?? 24  
-rw-------  1 root root   24  6?  7 16:57 __init__.py  
-rw-------  1 root root  163  6?  7 16:57 __init__.pyc  
-rw-------  1 root root  629  6?  7 16:57 __main__.py  
-rw-------  1 root root  510  6?  7 16:57 __main__.pyc  
drwx------  8 root root 4096  6?  7 16:57 _internal  
drwx------ 18 root root 4096  6?  7 16:57 _vendor  
Run Code Online (Sandbox Code Playgroud)

解决方案:root用户登录并运行

chmod -R 755 /usr/lib/python2.7 
Run Code Online (Sandbox Code Playgroud)

解决这个问题.

  • 注意:注意错误中的python路径。就我而言,它是 RHEL 7 上的“/usr/local/lib/python3.6/” (3认同)

Gau*_*ith 8

在文件"/ usr/local/bin/pip"中更改 from pip._internal import mainfrom pip import main

  • 更改库文件不是一个好主意。 (2认同)
  • 这对我来说适用于 python2.7 和相应的 pip2.7,这个问题的其他答案适用于将 pip 与 python3 一起使用 (2认同)

Lev*_*son 5

PYTHONPATH设置为包含内置site-packages目录时,我已经看到此问题。由于Python自动出现在那儿,因此没有必要,可以将其删除。

  • 这为我解决了,谢谢。我只是将$ PYTHONPATH保存在某个地方,然后运行`export PYTHONPATH =“”以使pip正常工作。 (2认同)

tos*_*spo 5

我刚刚遇到了同样的问题,就我而言,事实证明这是我的 virtualenv 中的 python 安装和站点范围的 python (Ubuntu) 之间的冲突。为我解决的是以这种方式运行 pip,以强制使用正确的 python 安装(在我的 vortualenv 中):

python3 -m pip install PACKAGE
Run Code Online (Sandbox Code Playgroud)

代替

pip3 install PACKAGE
Run Code Online (Sandbox Code Playgroud)

当我尝试遵循此处的一些建议重新安装 pip 的答案时,我意识到了这一点,尽管我已经激活了我的 virtualenv,但我得到的错误输出指向现有的站点范围的 python 库路径。在删除和重新安装东西之前值得尝试。


har*_*man 5

为我

python -m pip uninstall pip
Run Code Online (Sandbox Code Playgroud)

解决了这个问题。参考