Python3.6 ImportError: cannot import name 'main' Linux RHEL6

新手上路,请多包涵

我的最终目标是下载并安装 awscli http://docs.aws.amazon.com/cli/latest/userguide/awscli-install-linux.html

似乎需要 python 和 pip 才能实现我的目标。

通过 yum 安装 python 对我不起作用,所以我手动下载并安装了 python3,如下所示:

 wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
tar xf Python-3.6.1.tar.xz
cd Python-3.6.1.tar.xz
./configure
make
sudo make altinstall

当我做

pip3.6 --version

我明白了:

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

环境: RHEL 6.6 通过ssh访问

到底是怎么回事?如何在我的 linux 机器上正确安装 pip 和 python3.6?

编辑:

尝试通过 yum 安装时失败,所以我尽量避免使用 yum:

[asemani@rcdc9pfda5r Python-3.6.1]$ sudo yum -y install python-pip

 [sudo] password for asemeani:
Loaded plugins: security
Setting up Install Process
No package python-pip available.
Error: Nothing to do

另一个编辑:

在导入 sys 然后调用 sys.path 这就是我得到的:

 [asemani@rcdc9pfda5r Python-3.6.1]$ python3.6
Python 3.6.1 (default, Apr 28 2017, 11:03:27)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/local/lib/python36.zip', '/usr/local/lib/python3.6', '/usr/local/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/site-packages']
>>> quit()
[asemani@rcdc9pfda5r Python-3.6.1]$ ls -l /usr/local/lib/python3.6/site-packages
total 32
-rw-------  1 root root  126 Apr 27 23:45 easy_install.py
drwx------ 11 root root 4096 Apr 27 23:45 pip
drwx------  2 root root 4096 Apr 27 23:45 pip-9.0.1.dist-info
drwx------  5 root root 4096 Apr 27 23:45 pkg_resources
drwx------  2 root root 4096 Apr 27 23:45 __pycache__
-rw-r--r--  1 root root  119 Apr 27 23:45 README.txt
drwx------  5 root root 4096 Apr 27 23:45 setuptools
drwx------  2 root root 4096 Apr 27 23:45 setuptools-28.8.0.dist-info

原文由 Moonie Asemani 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 632
1 个回答

您需要像这样编辑 pip3 文件(您的路径可能不同):

 nano /Library/Frameworks/Python.framework/Versions/3.6/bin/pip3

并更改导入主线,使其显示:

 from pip._internal import main

进行此更改后,我的 pip3 开始工作并且我在 macOS 上。如果您使用的是 Linux,您的路径可能类似于 /usr/bin/pip3

我从这个线程中找到了这个提示和更多信息: https ://github.com/pypa/pip/issues/5240

原文由 Mulperi 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题