【Ubuntu 16.04】pip版本问题

一、前言

今天在给一个强化学习Demo配环境时遇到了pip版本的问题,花了很长时间去填坑。总结一下,希望对其他需要的小伙伴有帮助,不对的地方希望小伙伴们批评指正。

二、问题

问题一:from pip import main ImportError: cannot import name 'main

Traceback (most recent call last):
  File "/usr/local/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name 'main'

废话不多说,解决办法:

1.打开终端,cd到pip所在根目录(或者在pip那一级目录下直接右键打开终端)

cd /usr/local/bin/ //我的是在这个目录下,其他小伙伴们的pip可能是/usr/bin/目录下,是的话把local一级去掉就好

2.使用Ubuntu的nano修改pip文件

sudo nano pip //pip默认是只读的,修改时必须加sudo给权限

3.修改pip文件

原文件打开如下图,用键盘上下左右键来控制。
在这里插入图片描述将最后一行sys.exit(main())改为sys.exit(__main__._main())
Ctrl+O,然后回车保存
Ctrl+X,退出
成功解决!

问题二(和问题一看起来极度类似但不同):from pip ._internal.main import main ImportError: No module named main

Traceback (most recent call last):
  File "/usr/local/bin/pip", line 6, in <module>
    from pip._internal.main import main
ImportError: No module named main

解决办法:

1.开始我还是像解决第一个问题一样,更改了pip文件,但更改完后直接出现新的错误。

import: not authorized `re' @ error/constitute.c/WriteImage/1028.
import: not authorized `sys' @ error/constitute.c/WriteImage/1028. 
from: can't read /var/mail/pip._internal.main /usr/local/bin/pip: 10: /usr/local/bin/pip: Syntax error: "(" unexpected (ex

2.后来发现,原来是在使用nano修改pip文件时在#!/usr/bin/env python前不小心多打了一个回车,去掉之后这个错误解决。
在这里插入图片描述
3.但紧接着来了新的问题Could not install packages due to an EnvironmentError,心中万马奔腾。不过这个问题比较好解决,只需要更新一下你的pip版本就好。

不过更新前切记把刚才更改的sys.exit(__main__._main())改回去!

pip install --upgrade pip --user //更新pip命令行

等待更新完成…

成功解决!

发布了19 篇原创文章 · 获赞 8 · 访问量 3859

猜你喜欢

转载自blog.csdn.net/weixin_45087775/article/details/104266488