次のコマンドを使用して、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
@Karafacegcc
の答えも正確です。現在、両方の方法がうまく機能しています。ありがとうございます。