在ubuntu上将python3.4升级到python3.6会破坏pip
在我目前拥有python3.4之后,我正在尝试在我的机器上安装python3.6。但是,在安装之后,尝试在python3.6下运行在ubuntu上将python3.4升级到python3.6会破坏pip,python,pip,Python,Pip,在我目前拥有python3.4之后,我正在尝试在我的机器上安装python3.6。但是,在安装之后,尝试在python3.6下运行pip,会出现以下错误: Traceback (most recent call last): File "pip3", line 7, in <module> from pip import main File "/usr/lib/python3/dist-packages/pip/__init__.py", line 59, in &l
pip
,会出现以下错误:
Traceback (most recent call last):
File "pip3", line 7, in <module>
from pip import main
File "/usr/lib/python3/dist-packages/pip/__init__.py", line 59, in <module>
from pip.log import logger
File "/usr/lib/python3/dist-packages/pip/log.py", line 9, in <module>
import colorama, pkg_resources
File "/usr/lib/python3/dist-packages/pkg_resources.py", line 1520, in <module>
register_loader_type(importlib_bootstrap.SourceFileLoader, DefaultProvider)
AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader'
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
from apport.report import Report
File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
import apport.fileutils
File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
from apport.packaging_impl import impl as packaging
File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 20, in <module>
import apt
File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'
Original exception was:
Traceback (most recent call last):
File "pip3", line 7, in <module>
from pip import main
File "/usr/lib/python3/dist-packages/pip/__init__.py", line 59, in <module>
from pip.log import logger
File "/usr/lib/python3/dist-packages/pip/log.py", line 9, in <module>
import colorama, pkg_resources
File "/usr/lib/python3/dist-packages/pkg_resources.py", line 1520, in <module>
register_loader_type(importlib_bootstrap.SourceFileLoader, DefaultProvider)
AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader'
回溯(最近一次呼叫最后一次):
文件“pip3”,第7行,在
从pip导入主
文件“/usr/lib/python3/dist-packages/pip/_-init___.py”,第59行,在
从pip.log导入记录器
文件“/usr/lib/python3/dist-packages/pip/log.py”,第9行,在
导入colorama、pkg_资源
文件“/usr/lib/python3/dist packages/pkg_resources.py”,第1520行,在
注册加载程序类型(importlib\u bootstrap.SourceFileLoader,DefaultProvider)
AttributeError:模块“importlib.\u引导程序”没有属性“SourceFileLoader”
sys.excepthook中出错:
回溯(最近一次呼叫最后一次):
文件“/usr/lib/python3/dist packages/apport\u python\u hook.py”,第63行,apport\u excepthook
从apport.fileutils导入可能的\u打包,获取\u最近的\u崩溃
文件“/usr/lib/python3/dist-packages/apport/_-init___.py”,第5行,在
从apport.report导入报告
文件“/usr/lib/python3/dist-packages/apport/report.py”,第30行,在
导入apport.fileutils
文件“/usr/lib/python3/dist-packages/apport/fileutils.py”,第23行,在
从apport.packaging\u impl导入impl as packaging
文件“/usr/lib/python3/dist packages/apport/packaging_impl.py”,第20行,在
进口apt
文件“/usr/lib/python3/dist-packages/apt/_-init___.py”,第23行,在
进口apt_包装
ModuleNotFoundError:没有名为“apt_pkg”的模块
最初的例外是:
回溯(最近一次呼叫最后一次):
文件“pip3”,第7行,在
从pip导入主
文件“/usr/lib/python3/dist-packages/pip/_-init___.py”,第59行,在
从pip.log导入记录器
文件“/usr/lib/python3/dist-packages/pip/log.py”,第9行,在
导入colorama、pkg_资源
文件“/usr/lib/python3/dist packages/pkg_resources.py”,第1520行,在
注册加载程序类型(importlib\u bootstrap.SourceFileLoader,DefaultProvider)
AttributeError:模块“importlib.\u引导程序”没有属性“SourceFileLoader”
互联网上有几条关于遇到错误的评论,但是没有一条包含任何实际的解决建议。有人知道我如何解决这个问题吗?也有同样的问题。从源代码安装python有帮助
#如果安装了apt,请删除现有的python 3.6
$sudo apt获取自动删除Python 3.6
#获取来源
$wgethttps://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
$tar xvf Python-3.6.1.tar.xz
$cd Python-3.6.1
#配置和安装
$sudo./configure
$sudo make altinstall
#成功!
$3.6-V
来自/usr/local/lib/python3.6/site-packages(python 3.6)的pip 9.0.1
编辑:I自发现以来。使安装和管理不同的python版本更加容易。试试看 我在没有安装任何源代码的情况下成功地解决了这个问题。 以下是我所做的:
pip
(出于某种奇怪的原因,我没有它…)
这是一个旧版本
$ pip3 --version
pip 1.5.4 from /usr/lib/python3/dist-packages (python 3.4)
$ sudo pip3 install --upgrade pip
现在好多了
$ sudo pip3 --version
pip 9.0.1 from /usr/local/lib/python3.4/dist-packages (python 3.4)
virtualenvvwrapper
$ sudo pip3 install --upgrade virtualenvwrapper
# ...
Successfully installed pbr-3.0.1 six-1.10.0 stevedore-1.22.0 virtualenv-15.1.0 virtualenv-clone-0.2.6 virtualenvwrapper-4.7.2
$ mkvirtualenv -p `which python3.6` <VIRTUALENV_NAME>
注意:现在我意识到这比你要求的要多了一点,但是(不知道你到底在哪里失败了),我想在第2步之后你应该可以了。只需下载文件
get pip.py
并使用以下命令:
sudo python3 get-pip.py
我在我的Ubuntu 14.04服务器上用3.6替换了Python 3.4,我也遇到了同样的问题。在我的案例中,原因似乎是一个古老的系统pip:
$pip——版本
来自/usr/lib/python2.7/dist-packages(python 2.7)的PIP1.5.4
我从未安装过python3pip。相反,我解决了以下错误:
$sudo pip安装--升级pip
$sudo pip安装--升级virtualenv
我也有同样的问题。我的系统上似乎有两个版本的pkg_resources
/usr/local/lib/python3.6/site packages/pkg_resources.py
/usr/lib/python3.6/site packages/pkg\u resources/\uuuu init\uuuu.py
移动旧版本以便我的系统可以找到新版本,并为我修复了它
mv/usr/local/lib/python3.6/site-packages/pkg_resources.py/usr/local/lib/python3.6/site-packages/pkg_resources.py.back
我无法通过运行
python3 get-pip.py
或
因为在那里,我已经遇到了pkg_resources.py的问题。另外,从Ubuntu重新安装python3 setuptools包也没有什么帮助,因为它似乎仍然安装了最初与Ubuntu系统一起安装的版本(在我的例子中是3.4),但我可以通过手动安装setuptools来解决这个问题
wget https://bootstrap.pypa.io/ez_setup.py -O - | python3
注意:python3指向我的新python版本3.6。如果你不是这样的话,那么你就需要跑步了
wget https://bootstrap.pypa.io/ez_setup.py -O - | python3.6
您可以使用此命令解决此错误。它将更新您的设置工具
python -m ensurepip --upgrade
我终于通过跑步解决了这个问题:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3.6 get-pip.py --force-reinstall
在此之后,我可以安装python3.6特定的软件包,包括:
python3.6 -m pip install <packagename>
python3.6-mpip安装
好吧,我似乎也遇到了类似的问题,但是安装distribute
作为pip
的依赖项
我以这种方式安装了依赖项(在env下):
我遇到的一个错误:
File "/tmp/pip-build-lvtkw8zs/distribute/pkg_resources.py", line 1518, in <module>
register_loader_type(importlib_bootstrap.SourceFileLoader, DefaultProvider)
AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader'
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-lvtkw8zs/distribute/
文件“/tmp/pip-build-lvtkw8zs/distribute/pkg_resources.py”,第1518行,在
注册加载程序类型(importlib\u bootstrap.SourceFileLoader,DefaultProvider)
AttributeError:模块“importlib.\u引导程序”没有属性“SourceFileLoader”
----------------------------------------
命令“python setup.py egg_info”在/tmp/pip-build-lvtkw8zs/distribute中失败,错误代码为1/
这不是一个解决方案,但我建议使用pyenv在一台机器上管理不同的python安装。运行此命令:pip install-U pip setuptools
解决问题
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3.6 get-pip.py --force-reinstall
python3.6 -m pip install <packagename>
easy_install distribute==0.7.3
File "/tmp/pip-build-lvtkw8zs/distribute/pkg_resources.py", line 1518, in <module>
register_loader_type(importlib_bootstrap.SourceFileLoader, DefaultProvider)
AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader'
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-lvtkw8zs/distribute/