현재 RHEL 저장소를 구독하지 않습니다. 필요한 패키지를 얻기 위해 EPEL을 사용하고 있습니다.
목표: 테스트를 위해 여러 개의 virtualenv 폴더를 설정하려고 합니다. Python 2.7을 사용하는 설정이 있고 Python 3.7을 사용하여 다른 설정을 만들고 싶습니다. 그런 다음 pip를 통해 Ansible을 설치하겠습니다.
나는 무엇을하고 있는가:
시스템 Python 2.7을 유지하면서 RHEL 6.8에 Python 3.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의 기능에 문제가 있습니까?