ImportError:安装 python3.6 和 pipenv 后无法导入名称“main”

ImportError:安装 python3.6 和 pipenv 后无法导入名称“main”

安装 python3.6 和 pipenv 后,我尝试requests使用该命令进行安装pip3 install requests,但出现此错误-

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

以下是我安装 python3.6 的方法

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get install libssl-dev openssl libreadline-dev

$ cd ~

$ wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz

$ tar zxf Python-3.6.1.tgz

$ cd Python-3.6.1

$ ./configure

$ make

$ sudo make install

以下是我安装 pip env 的方法: pip3 install pipenv

之后我开始收到该错误。我尝试使用以下命令卸载 python、python3、python-pip、python3-pip

$ sudo apt purge python

$ sudo apt purge python3

$ sudo apt purge python-pip

$ sudo apt purge python3-pip

然后使用以下命令再次安装它们 $ sudo apt install python

$ sudo apt install python3

$ sudo apt install python-pip

$ sudo apt install python3-pip

但仍然出现该错误。此外,我以前总是sudo apt-get update使用这些命令。再次安装 python3 后。当我使用命令检查版本时,python3 -V它显示python 3.6 我该如何解决这个问题?

答案1

首先,检查文件的位置:

$ which pip
path -> /usr/bin/pip

然后,打开终端并输入:

$ cd /usr/bin/    --> (path of pip)
$ sudo nano pip

在该文件中,您将看到:

import sys
from pip import main
if __name__ == '__main__':
     sys.exit(main())

您必须更改为:

import sys
from pip import __main__
if __name__ == '__main__':
     sys.exit(__main__._main())

保存更改并退出

相关内容