Centos
通過 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/
任何人都可以幫助我並解釋問題出在哪裡,因為錯誤消息對我來說不是很清楚。
我用 kubuntu 在我的個人 PC 上安裝了 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/
通過安裝
python-devel
和解決gcc
。@Karaface 的回答也是正確的。這兩種方式現在都可以正常工作。謝謝你。
預設情況下,CentOS 7 僅附帶 Python 2.7,因此使用 pip 而不是 pip3 只能從 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 仍然很好。