没有名为 _ Internal 的模块

当我尝试以任何方式使用 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

我试过先做 sudo apt-get remove python-pip再做 sudo apt-get install python-pip,但是没有任何改变。

257421 次浏览

来自 AskUbuntu的答案是可行的。

对于 pip2.7,可以先在 curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py,然后在 python2.7 get-pip.py --force-reinstall重新安装 pip。

问题解决了,同样适用于 python3。

您使用的是 python2还是 python3? 以下命令可能有所不同!

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

PYTHONPATH被设置为包含内置的 site-packages目录时,我看到了这个问题。由于 Python 会自动在那里查找,因此它是不必要的,并且可以被删除。

下面的解决方案为 python2.7解决了机器上的问题 “ $curl https://bootstrap.pypa.io/get-pip.py-o get-pip.py” 然后 “ $sudo python2.7 get-pip.py —— force-reinstall”

它可能是由于版本冲突,尝试运行这个,它将删除旧的管道以某种方式。

sudo apt remove python pip

我就是这么做的:

python -m pip install --upgrade pip

环境: 通过 啤酒安装 OSX & Python

这个问题可能是由于普通用户没有访问包 py 文件的特权造成的。
Root 用户可以运行“ pip 列表”
2. 其他普通用户无法运行“ pip 列表”

[~]$ 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

检查 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

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

chmod -R 755 /usr/lib/python2.7

解决这个问题。

这个解决方案对我很有效:

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

或者使用 Sudo获得更高的权限(sudo python3 get-pip.py --force-reinstall)。

当然,您也可以使用 python代替 python3;)

来源

对我来说都不管用,但只有一件事: 我在命令前使用了 sudo,它工作得很好。

在文件“/usr/local/bin/pip”改变 from pip._internal import main to from pip import main

请参考此 问题清单

sudo easy_install pip

在 Mac 操作系统下工作

对于 python3,可以尝试 sudo easy_install-3.x pip取决于 python 3.x 的版本。或者 python3 -m pip install --user --upgrade pip

在将 python 安装从3.6升级到3.7之后,我的虚拟环境也出现了同样的问题,但是只有在 venv global pip 上可以正常工作,为了解决这个问题,我在重新创建之后关闭并删除了虚拟环境,现在在 venv 上可以正常工作了:

deactivate
rm -rvf venv

然后重新创建虚拟环境。 我使用 mac OS 10.11和 python 3

我刚刚遇到了同样的问题,在我的例子中,原来这是我的 viralenv 中的 python 安装和站点范围的 python (Ubuntu)之间的冲突。 对我来说,解决这个问题的方法是以这种方式运行 pip,强制使用正确的 python 安装(在我的 vortualenv 中) :

python3 -m pip install PACKAGE

而不是

pip3 install PACKAGE

我意识到这一点,当我试图按照这里的一些答案,建议重新安装 pip 和错误输出,我得到的是指向一个现有的站点范围的 Python 库路径,虽然我已经激活了我的 viralenv。 在删除和重新安装之前值得一试。

(窗户上) 我不确定为什么会发生这种情况,但是我将我的 PYTHONPATH 设置指向安装了 python 的 c: python27。与 viralenv 结合产生了上面提到的 bug。

通过全部删除 PYTHONPATH env 变量来解决

我的解决办法是: 第一步和其他答案一样:

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

第二,添加软链接

sudo ln -s /usr/local/bin/pip /usr/bin/pip

我通过运行以下命令修复了这个错误:

sudo apt remove python-pip
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

它将删除以前安装的管道并重新安装它。 谢谢:)

这是我的命令。

卷曲 https://bootstrap.pypa.io/get-pip.py-o get-pip.py Python get-pip.py —— force-reinstall —— user

您可以先删除它,然后再安装,就可以了。 分币:

yum remove python-pip
yum install python-pip

仅供当前用户使用:

easy_install --user pip

或者

python -m pip install --upgrade --user pip

第二种可能给 /usr/bin/python: No module named pip 即使 which pip找到名为 pip 的模块。 在这种情况下,请尝试 easy_install

我在 Windows 上尝试通过 pip3安装软件包时也遇到了同样的错误:

Traceback (most recent call last):
File "d:\anaconda\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "d:\anaconda\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "D:\Anaconda\Scripts\pip3.6.exe\__main__.py", line 5, in <module>
ModuleNotFoundError: No module named 'pip._internal'

我的 python 是通过阿纳康达安装的,我通过 conda 重新安装 pip 解决了这个问题:

conda install pip

之后 Pip 就恢复正常了。

我解决了这个问题

sudo apt-get install python3-pip

这甚至对 python2.7也有效,太神奇了..。

我的解决方案是将 import pip添加到链接到 pip/pip3命令的脚本中。

首先,用你喜欢的文本编辑器和 sudo 模式打开文件(例如 /usr/local/bin/pip)。例如,我使用 sudo vim /usr/local/bin/pip打开脚本文件。

您将获得以下文件:

import re
import sys


from pip._internal import main


if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(main())

然后,在 from pip._internal import main之前插入语句 import pip,这样问题就解决了。

我尝试了下面的命令来解决这个问题,它对我很有效:

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

这通常来自于使用 pip 来“更新”系统安装的 pip,以及/或在用户下安装多个 pip。我的解决方案是清除用户下的多个安装 pip,重新安装 pip repo,然后像上面那样“ pip install —— user pip”。

见: https://github.com/pypa/pip/issues/5599为正式完整的讨论和修复的问题。

为了完整起见,我用“ Ubuntu best”... v18.04... 遇到了这个问题,并用这种方法修复了它:

python3 -m pip install --upgrade pip

(注意,有必要指定 python3,因为它引用了 Python 3.6.9。同一个系统上的 python命令引用 Python 2.7.17。由于这显然是一个系统范围的安装,它遇到了一个[“ not sudo”... ]权限错误,但这并不重要,因为无论如何这都是错误的。我在使用 pip3时遇到了问题。)

为了我

python -m pip uninstall pip

解决了问题 参考文献

视窗操作系统:

1、download this file:“https://bootstrap.pypa.io/get-pip.py”,Put it in this(E:\PythonProject\venv\Scripts’(Your virtual environment installation directory)) directory!
2、open ‘Windows PowerShell’
3、cd ‘E:\PythonProject\venv\Scripts’(Your virtual environment installation directory)
4、run cmd ‘py get-pip.py’

请验证/usr/local/lib/python3.9/的目录权限,并使用 chown 命令修改权限

Sudo chown-R centos: centos/usr/local/lib/python3.9/

这对我有帮助。

Pip 文件检查,这个命令对我起作用了:

python -m ensurepip --upgrade