pip를 통해 설치하는 동안 오류가 발생했습니다.

pip를 통해 설치하는 동안 오류가 발생했습니다.

다음 명령을 사용하여 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-develgcc​@Karaface의 답변도 정확합니다. 현재 두 가지 방법 모두 잘 작동합니다. 감사해요.

관련 정보