다음 명령을 사용하여 pip를 통해 Centos 7 가상 머신에 OpenStack 클라이언트를 설치하려고 합니다.
pip install python-openstackclient
설치가 끝나면 다음 오류가 발생합니다.
Command "/usr/bin/python3.4 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-noqgbvv4/netifaces/setup.py';f=getattr(tokenize, 'open', open)(_file_);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, _file_, 'exec'))" install --record /tmp/pip-eyssu5xp-record/install-record.txt
--single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-noqgbvv4/netifaces/
누구든지 나를 도와주고 오류 메시지가 나에게 명확하지 않기 때문에 문제가 어디에 있는지 설명해 줄 수 있습니까?
내 PC에 kubuntu를 사용하여 openstack 클라이언트를 설치했는데 아무런 문제없이 실행됩니다.
편집: --log 옵션을 사용하여 pip를 실행했습니다. 이것이 마지막 예외이다
Exception information:
Traceback (most recent call last):
File "/usr/lib/python3.4/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/lib/python3.4/site-packages/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/usr/lib/python3.4/site-packages/pip/req/req_set.py", line 784, in install
**kwargs
File "/usr/lib/python3.4/site-packages/pip/req/req_install.py", line 878, in install
spinner=spinner,
File "/usr/lib/python3.4/site-packages/pip/utils/__init__.py", line 707, in call_subprocess
% (command_desc, proc.returncode, cwd))
pip.exceptions.InstallationError: Command "/usr/bin/python3.4 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-07sbmmn8/netifaces/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-u60jwjmb-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-07sbmmn8/netifaces/
답변1
CentOS 7은 기본적으로 Python 2.7과 함께 제공되므로 pip3 대신 pip를 사용하면 Python 2.7에서만 빌드할 수 있습니다.
EPEL 저장소를 활성화한 다음 Python 3.4를 설치하고 pip3을 가져와야 합니다.
sudo yum install epel-release
sudo yum install python34 python 34-setuptools
sudo easy_install-3.4 pip
그럼 다시 돌아가서 달려가
pip3 install python-openstackclient
제가 좀 더 자세히 조사한 결과 OpenStack에 CentOS용 리포지토리가 있다는 사실이 밝혀졌습니다(RedHat이 기본적으로 OpenStack을 소유하고 있기 때문에 놀라운 일은 아닙니다). 그래서 당신은 정말로해야합니다
sudo yum install centos-release-openstack-pike
sudo yum upgrade
sudo yum install python-openstackclient openstack-selinux
마지막은 CentOS에서 SELinux를 관리하는 데 도움이 됩니다. 그러나 CentOS VM에서 Python 3.4를 얻는 방법과 Python 3 pip 패키지를 얻으려면 pip3을 사용해야 한다는 점을 아는 것은 여전히 좋습니다.
답변2
.python-devel
gcc
@Karaface의 답변도 정확합니다. 현재 두 가지 방법 모두 잘 작동합니다. 감사해요.