用户特定的 python 3.7 的 RHEL 6.8 安装完成时出现“ModuleNotFoundError:没有名为 '_ctypes' 的模块”

用户特定的 python 3.7 的 RHEL 6.8 安装完成时出现“ModuleNotFoundError:没有名为 '_ctypes' 的模块”

我目前没有订阅 RHEL 存储库。我正在使用 EPEL 来获取所需的包。

目标:我正在尝试设置多个 virtualenv 文件夹以进行测试。我有一个使用 python 2.7 的设置,想使用 python 3.7 创建另一个设置。然后我将通过 pip 安装 Ansible。

我在做什么:

我尝试在 RHEL 6.8 上安装 Python 3.7,同时保留系统 python 2.7。我在这方面没有太多经验,并且愿意接受建议和其他解决方案。

我已运行以下命令来安装 Python 3.7.0

wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
./configure --prefix=$HOME/python3.7 
make
make install

完成后显示消息:“ModuleNotFoundError:没有名为“_ctypes”的模块”

我可以通过 ~/python3.7/bin/python3 访问 python 3.7

bin]$ ./python3
Python 3.7.0 (default, Oct  5 2018, 11:09:23)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

然而,我在尝试安装 pip 时遇到了问题。

wget https://bootstrap.pypa.io/get-pip.py
./python3 get-pip.py
Traceback (most recent call last):
File "get-pip.py", line 20890, in <module>
main()
File "get-pip.py", line 197, in main
bootstrap(tmpdir=tmpdir)
File "get-pip.py", line 82, in bootstrap
import pip._internal
File "/tmp/tmp4d087g4p/pip.zip/pip/_internal/__init__.py", line 40, in <module>
File "/tmp/tmp4d087g4p/pip.zip/pip/_internal/cli/autocompletion.py", line 8, in <module>
File "/tmp/tmp4d087g4p/pip.zip/pip/_internal/cli/main_parser.py", line 12, in <module>
File "/tmp/tmp4d087g4p/pip.zip/pip/_internal/commands/__init__.py", line 6, in <module>
File "/tmp/tmp4d087g4p/pip.zip/pip/_internal/commands/completion.py", line 6, in <module>
File "/tmp/tmp4d087g4p/pip.zip/pip/_internal/cli/base_command.py", line 18, in <module>
File "/tmp/tmp4d087g4p/pip.zip/pip/_internal/download.py", line 38, in <module>
File "/tmp/tmp4d087g4p/pip.zip/pip/_internal/utils/glibc.py", line 3, in <module>
File "/home/jmossman/python3.7/lib/python3.7/ctypes/__init__.py", line 7, in <module>
from _ctypes import Union, Structure, Array
ModuleNotFoundError: No module named '_ctypes'

通过网上查了一下,这个问题好像以前也遇到过。我看到的许多解决方案都表明我缺少 _ctypes 模块所需的东西。

https://bugs.python.org/issue31652 https://stackoverflow.com/questions/27022373/python3-importerror-no-module-named-ctypes-when-using-value-from-module-mul

通用包是 libffi-dev。

我想我可能会丢失这个或其他包。我检查了我的系统,发现虽然我有 libffi,但我没有 libffi-devel 或 libffi-dev。我能够验证我是否安装了 zlib-devel。我找不到 RHEL 6.8 的 libncursesw5-dev、libgdbm-dev、libc6-dev、zlib1g-dev、libsqlite3-dev 或 tk-dev。我不确定是否需要它们。

此时,我不确定实际问题是什么。我是否缺少我需要的包裹?我是否因为使用 ./configure --prefix 和 make 安装了 python 而导致其识别所需软件包的能力出现问题?

相关内容