在ubuntu上将python3.4升级到python3.6会破坏pip

前端之家收集整理的这篇文章主要介绍了在ubuntu上将python3.4升级到python3.6会破坏pip前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前有python3.4后,我正试图在我的机器上安装python3.6。但是,安装后试图在python3.6下运行pip给我错误
  1. Traceback (most recent call last):
  2. File "pip3",line 7,in <module>
  3. from pip import main
  4. File "/usr/lib/python3/dist-packages/pip/__init__.py",line 59,in <module>
  5. from pip.log import logger
  6. File "/usr/lib/python3/dist-packages/pip/log.py",line 9,in <module>
  7. import colorama,pkg_resources
  8. File "/usr/lib/python3/dist-packages/pkg_resources.py",line 1520,in <module>
  9. register_loader_type(importlib_bootstrap.SourceFileLoader,DefaultProvider)
  10. AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader'
  11. Error in sys.excepthook:
  12. Traceback (most recent call last):
  13. File "/usr/lib/python3/dist-packages/apport_python_hook.py",line 63,in apport_excepthook
  14. from apport.fileutils import likely_packaged,get_recent_crashes
  15. File "/usr/lib/python3/dist-packages/apport/__init__.py",line 5,in <module>
  16. from apport.report import Report
  17. File "/usr/lib/python3/dist-packages/apport/report.py",line 30,in <module>
  18. import apport.fileutils
  19. File "/usr/lib/python3/dist-packages/apport/fileutils.py",line 23,in <module>
  20. from apport.packaging_impl import impl as packaging
  21. File "/usr/lib/python3/dist-packages/apport/packaging_impl.py",line 20,in <module>
  22. import apt
  23. File "/usr/lib/python3/dist-packages/apt/__init__.py",in <module>
  24. import apt_pkg
  25. ModuleNotFoundError: No module named 'apt_pkg'
  26.  
  27. Original exception was:
  28. Traceback (most recent call last):
  29. File "pip3",DefaultProvider)
  30. AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader'

互联网上有几条关于遇到错误评论,但是,它们都没有包含任何实际的解决方案建议。有谁知道如何解决这个问题?

我设法解决了它,没有从源头安装任何东西。
这是我做的:

>首先,为Python3.x安装pip(出于一些奇怪的原因,我没有它…)

  1. $ sudo apt-get install python3-pip

这是旧版本……

  1. $ pip3 --version
  2. pip 1.5.4 from /usr/lib/python3/dist-packages (python 3.4)

> …所以升级到最新版本

  1. $ sudo pip3 install --upgrade pip

现在好多了

  1. $ sudo pip3 --version
  2. pip 9.0.1 from /usr/local/lib/python3.4/dist-packages (python 3.4)

>然后升级virtualenvvwrapper

  1. $ sudo pip3 install --upgrade virtualenvwrapper
  2. # ...
  3. 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

>现在创建一个新的virtualenv工作:

  1. $ mkvirtualenv -p `which python3.6` <VIRTUALENV_NAME>

点子也有效:

  1. $ pip install django
  2. # ...
  3. Successfully installed django-1.11.2 pytz-2017.2
  4.  
  5. $ pip freeze
  6. Django==1.11.2
  7. pytz==2017.2

注意:现在我意识到它比你要求的要多一点,但是(不知道你到底在哪里失败了)我猜你应该在第2步之后做好。

猜你在找的Ubuntu相关文章