当我尝试以任何方式使用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
,但没有改变。
感谢您的时间!
答案 0 :(得分:52)
askUbuntu的答案有效。
对于pip2.7,您可以先curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
,然后python2.7 get-pip.py --force-reinstall
重新安装pip。
问题解决了。也适用于python3。
答案 1 :(得分:47)
答案 2 :(得分:11)
此解决方案适用于xD
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py --force-reinstall
或
使用 sudo 获得更高的权限:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python get-pip.py --force-reinstall
当然,我们可以使用python3代替python;)
答案 3 :(得分:10)
为了完整起见,我刚遇到了“ Ubuntu Latest”的问题... v18.04 ...并通过以下方式解决了此问题:
python3 -m pip install --upgrade pip
(注意,必须指定python3
,因为它引用了Python 3.6.9。同一系统上的python
命令引用了Python 2.7.17。因为这显然是一个系统范围的安装遇到了[“ not sudo” ...]权限错误,但这没关系,因为无论如何都是错的。我遇到pip3
的问题。)
答案 4 :(得分:9)
答案 5 :(得分:7)
此问题可能是由于普通用户没有访问包py文件的权限
1. root用户可以运行&lt; pip list&#39;
2.其他普通用户无法运行点击列表&#39;
x
检查pip py文件权限。
[~]$ 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
解决方案:root用户登录并运行
[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
解决此问题。
答案 6 :(得分:7)
在文件“ / usr / local / bin / pip”中,将from pip._internal import main
更改为from pip import main
答案 7 :(得分:4)
当PYTHONPATH
设置为包含内置site-packages
目录时,我已经看到了这个问题。由于Python自动查看它是不必要的,可以删除。
答案 8 :(得分:3)
答案 9 :(得分:3)
它可能是由于版本冲突,尝试运行它,它会以某种方式删除旧点。
{{1}}
答案 10 :(得分:2)
您使用的是python2还是python3?以下命令可能不同!
python3 -m pip --version
查看您是否安装了点子。python3 -m pip install --upgrade pip
。sudo apt-get install python3-pip
,然后重新执行。答案 11 :(得分:1)
我只是遇到了同样的问题,以我为例,事实证明这是我的virtualenv中的python安装与站点范围的python(Ubuntu)之间的冲突。 为我解决的是以这种方式运行pip,以强制使用正确的python安装(在我的vortualenv中):
python3 -m pip install PACKAGE
代替
pip3 install PACKAGE
当我尝试遵循一些建议重新安装pip的答案时,我意识到了这一点,尽管激活了virtualenv,但我收到的错误输出指向的是现有站点范围的python库路径。 在删除并重新安装内容之前,值得尝试。
答案 12 :(得分:1)
仅适用于当前用户:
easy_install --user pip
或
python -m pip install --upgrade --user pip
第二个可能会给/usr/bin/python: No module named pip
即使which pip
找到名为pip的模块。
在这种情况下,请尝试easy_install
答案 13 :(得分:1)
以下解决方案解决了我的机器上python2.7的问题 &#34; $ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py&#34; 然后 &#34; $ sudo python2.7 get-pip.py --force-reinstall&#34;
答案 14 :(得分:0)
在将python安装从3.6升级到3.7后,我的虚拟环境中存在相同的问题,但仅在vent全局pip上可以正常工作,要解决此问题,我可以在重新创建后停用并删除虚拟环境,现在在venv上可以了:
deactivate
rm -rvf venv
,然后重新创建虚拟环境。 我使用的是Mac OS 10.11和python 3
答案 15 :(得分:0)
(在Windows上) 不知道为什么会这样,但是我的PYTHONPATH设置指向安装了python的c:\ python27。结合virtualenv会产生上述错误。
通过一起删除PYTHONPATH env var来解决
答案 16 :(得分:0)
我的解决方案: 像大多数其他答案一样,第一步:
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
答案 17 :(得分:0)
我通过运行以下命令解决了该错误:
sudo apt remove python-pip
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
它将删除以前安装的pip并重新安装。 谢谢:)
答案 18 :(得分:0)
您可以先将其删除,然后再次安装,即可。 对于centos:
yum remove python-pip
yum install python-pip
答案 19 :(得分:0)
当我尝试通过pip3安装软件包时,在Windows上遇到了相同的错误:
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是通过Anaconda安装的。我通过conda重新安装pip解决了这个问题:
conda install pip
之后,pip恢复正常。
答案 20 :(得分:0)
我通过以下方式解决了这个问题
sudo apt-get install python3-pip
这甚至适用于python2.7,太棒了...
答案 21 :(得分:0)
我的解决方案是将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())
然后,在import pip
之前插入语句from pip._internal import main
,然后解决问题。
答案 22 :(得分:0)
我尝试使用以下命令解决此问题,它对我有用 卷曲https://bootstrap.pypa.io/get-pip.py -o get-pip.py python3 get-pip.py --force-reinstall
答案 23 :(得分:0)
这些通常是由于使用pip来“更新”系统安装的pip,和/或在用户下安装了多个pip。我的解决方案是清除用户下已安装的多个pip,重新安装pip repo,然后如上所述进行“ pip install --user pip”。
请参阅:https://github.com/pypa/pip/issues/5599,以获取正式的完整讨论并解决此问题。
答案 24 :(得分:0)
对我没有任何帮助,但只有一件事: 我在命令前面使用了sudo,它工作正常。
答案 25 :(得分:-1)
此命令对我有用。
卷曲here -o get-pip.py python get-pip.py --force-reinstall --user