安装软件时,我在终端上收到一条消息:您正在使用pip 8.1版。1,但版本为10.0。0可用。您应该考虑通过“PIP安装-升级PIP”命令升级。<代码>
所以我升级了pip版本:
$pip安装——升级pip
现在我得到这个错误:
~$ pip install ipython
Traceback (most recent call last):
File "/usr/bin/pip", line 9, in <module>
from pip import main
ImportError: cannot import name main
尝试升级系统pip
安装升级pip
pip安装--升级pip
这可能有用
我从ImportError执行了@catalinpopescu响应:在windows7 32位运行pip--version命令时无法导入名称main
查找pip的路径:
$ which pip
修改文件(选择您喜爱的编辑器):
$ sudo nano `which pip`
然后在catalinpopescu处修改行:注释/替换行:
from pip import main
sys.exit(main())
到:
from pip import __main__
sys.exit(__main__._main())
我立即升级到Pip版本10.0.1,它似乎没有这个错误。
>
如果您仍想独家使用新的pip 10,有3种快速解决方法:
bash
)-然后pip 10变得可用(参见pip-V
)。debian的pip 8仍然安装,但已损坏;或者$hash-d pip
注意:除非您是在virtualenv中,否则您将始终需要向非debian提供的PIP10添加
--user
标志!Ubuntu/Debian并不真正支持在virtualenv之外的系统范围内使用PIP10。永远不要sudo-pip
!
详细信息:
https://github.com/pypa/pip/issues/5221#issuecomment-382069604
https://github.com/pypa/pip/issues/5240#issuecomment-381673100
Ubuntu 16.04和Python 2.7。12
引言:
具有讽刺意味的是,尽管pip本身建议通过终端中明确的pip安装-升级pip
命令进行这样的升级(ugh!),但不建议在预打包的GNU/Linux发行版中升级它。Ubuntu通常期望使用APT包管理器进行任何系统范围内的Python模块更新/安装(包括pip本身),例如:$sudo apt-get更新
(来自源的resync Ubuntu包索引文件)$apt-ache搜索
重要错误:无法导入名称main
错误是由pip安装-升级pip
命令引起的:该命令将最新的pip版本10安装在Ubuntu的默认pip版本旁边,来自操作系统发行版(系统)的python-pip debian包Python安装),完全绕过Ubuntuapt
子系统。它打破了Ubuntu的默认pip:来自python-pip(系统安装到 /usr/bin/pip*)的debian补丁启动器脚本试图从新安装的pip10库导入main(),但导入路径不同,因此失败。
这个错误将在pip问题跟踪器的开发人员线程中更详细地讨论,包括一些建议的解决方案,例如:
>
$hash-d pip
命令:当调用hash
时,通过搜索$PATH中的目录并记住pip的完整路径名。丢弃任何以前记住的路径名。-d
选项导致shell忘记给定包名的记住位置;或者
类似地,您可以简单地重新打开一个新的bash会话(一个新的终端选项卡)来刷新$PATH中的pip路径名;或者
您可以使用
pip 2
命令(或Python 3的pip
)而不是pip
来调用较旧的系统安装的pip脚本/usr/bin/pip 2
,而任何位于中的pip启动器脚本$HOME/. loc/bin
dir(pip, pip 2, pip 2.7)将启动用户安装的新pip 10版本;
您还可以将版本化的Python命令与
-m
开关结合使用来运行适当的pip副本,例如:$python2-m pip install--user SomePackage
#default python2$python2。7-m pip安装——如果您有多个Python版本,并且需要PyPI为特定Python版本提供扩展,那么使用SomePackage
#特别是Python2.7
非常方便。只有在virtualenv之外使用pip时,才需要使用--user
开关。
或者,卸载两个pip中的一个——用户安装的或系统安装的——以解决冲突:
$python-m pip uninstall pip
——删除手动安装的pip,以支持先前安装的python pip debian包中的Ubuntu附带版本(python3 pip for python3);它稍微旧一点,但是它可以从PyPI中找到并安装最新的模块,并且默认情况下在$PATH中有一个正常工作的pip命令;或者$sudo apt get remove python pip
–卸载Ubuntu提供的pip,以支持最新的pip 10;如果无法通过shortpip
命令访问,只需添加$HOME/。本地/bin
目录到$PATH环境变量,以使用pip
命令(见上文)<注:Ubuntu 16.04 pip v8。1.1和最新的pip v10。0.1生成完全相同的PyPI索引搜索结果,并且可以拉取相同的模块版本;
最后,您可以完全忽略这两个点,支持APT,并通过以下方式在Ubuntu repo系统范围内安装Python包:
$apt search
注意:应避免使用
sudo-pip
命令(具有根访问权限),因为当系统使用的python模块意外升级时,它会干扰系统包管理器(apt)的操作,并且可能会影响Ubuntu OS组件,尤其是依赖于另一个pip包。建议不要使用Pip来更改系统范围的Python包,因为这些包是由Ubuntu上的apt-get
管理的。
问题内容: 每当我尝试使用pip安装任何软件包时,都会收到此导入错误: 之前它运行良好,我不确定为什么会引发此错误。我已经搜索了此错误,但找不到任何可修复的错误。 如果你需要更多详细信息,请告诉我,我将更新我的问题。 问题答案: 你必须不经意间升级了系统(可能通过) pip 10.x调整其内部位置。pip3你看到的命令是你的软件包维护者提供的(这里大概是基于debian的?),而不是pip管理的文
在将 Navicat Monitor 升级到最新的主要版本(例如从 1.x 到 2.x)之前,我们建议你先备份存储库数据库,因为主要升级是不可逆的。 请按照下列步骤 Navicat Monitor: 前往“配置”。 点击“备份、升级或迁移”。 选择“升级到最新的主要版本”。 点击“下载 Monitor 设置 Zip 文件”以备份当前的 Navicat Monitor 设置。 【如果你使用订阅方案,
每当我试图安装任何包使用pip,我得到这个导入错误: 早些时候它工作得很好,我不知道它为什么会抛出这个错误。我已经搜索了这个错误,但是找不到任何可以修复它的东西。 如果你需要任何进一步的细节,请告诉我,我会更新我的问题。
问题内容: 我在我的Ubuntu 14.04上运行了Jenkins,并且我尝试使用normal进行jenkins的升级,但是当我尝试这样做时,我不断收到错误消息: jenkins日志中没有显示任何内容,即使重新启动jenkins时,我仍然遇到相同的jave错误版本错误, 有什么帮助吗? 问题答案: 您正在使用Java 7,但Jenkins需要Java 8-请参阅:https : //jenkins
我在PyCharm上的venv中有python 3.6。但是,我想将其更改为Python 3.8。我已经安装了3.8,那么如何更改我的venv python版本呢? 我在窗口 10 上。 更改项目智能设置上的版本似乎使用新的 venv 而不是我已安装的所有软件包的现有 venv 运行。尝试添加新的 intepreter 也会导致“OK”按钮灰显,可能是由于当前 venv 不为空。
嗨,有人能帮我解决'重要错误:不能导入名称网址'的问题吗?我已经按照教程在这里https://docs.djangoproject.com/en/1.9/intro/tutorial01/ 我尝试了另一个教程https://docs.djangoproject.com/zh-hans/2.0/ref/urls/#django.urls.include 但是他们都不工作我的Django版本是1.11