2015-05-04 105 views
-3

我想在64位版本的RHEL v。7上安裝keystone(一個OpenStack組件)。我之前沒有這樣做過。如何在RHEL v.7上安裝keystone?

我運行此:

yum install openstack-keystone python-keystoneclient 

我看到這個結尾:

--> Finished Dependency Resolution Error: Package: python-pycadf-0.6.0-2.el7.centos.noarch (openstack-juno) Requires: python-webob >= 1.2.3 
Error: Package: python-eventlet-0.15.2-1.el7.noarch (epel) Requires: python-greenlet 
Error: Package: python-keystone-2014.2.2-1.el7.noarch (openstack-juno) Requires: python-webob >= 1.2.3 Error: Package: python-keystonemiddleware-1.2.0-1.el7.centos.noarch (openstack-juno) Requires: python-webob 
Error: Package: 1:python-keystoneclient-0.11.1-1.el7.centos.noarch (openstack-juno) Requires: python-webob You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest 

不過的WebOb安裝有正確的版本:

pip show webob 

Name: WebOb Version: 1.4.1 Location: /usr/lib/python2.7/site-packages/WebOb-1.4.1-py2.7.egg Requires: 

額外的包已經安裝:

rpm -i epel-release-7-5.noarch.rpm package epel-release-7-5.noarch is already installed 

它看起來像相關的額外軟件包安裝。

如何安裝python-keystoneclient?似乎存在依賴性解決問題。但是他們看不到真正的,因爲額外的軟件包已安裝。

打開了一個類似的RedHat「bug」(不是真正的bug):tinyurl [DOT] com/osp9o93(你必須構建上面的HTTP鏈接,因爲我不能發佈鏈接;但是有人可能無需幫助我證明研究)

它指示用戶去這裏:tinyurl [DOT] com/65s3xm6(你必須構建上面的HTTP鏈接,因爲我不能發佈鏈接;但有人可能能夠幫助我,而無需證明研究)

我已安裝的webobo版本(如pip命令結果所顯示)已足夠新。 RHEL v.7不是可接受的版本來安裝keystone?

我只想在RedHat Linux上安裝keystone。我不知道爲什麼這是有問題的。

python-webob與webob不同嗎?有沒有一個32位版本的Web 1.4.1?

+0

您將'rpm'系統範圍設置與'pip'混合使用。嘗試通過'rpm'或'pip'完成一切。 – wanderlust

回答

0

RPM軟件包管理器只知道您使用RPM工具安裝的東西。

python-webob RPM是可能在RPM包裹起來的PyPI包webob相當於...但RPM工具不知道。據知道,你必須有python-webob RPM或這些其他軟件包不起作用。

所以,這裏的簡單答案是pip uninstall webob,然後yum install python-webob

或者,當然,您可以pip install所有這些Python庫,然後手動安裝需要它們的程序(假設它不是PyPI包)。

更一般地說,嘗試做一個或另一個一致一切。要麼只安裝RPM,要麼永遠不安裝RPM。一旦你開始混合和匹配,你會遇到這些問題。

有更難的答案,*但除非簡單的答案不適合出於某種原因,我會用簡單的方式去。


*您可以從每個包的PyPI建立一個自定義RPM和安裝;我相信甚至有工具可以實現自動化(例如pip2rpmpypi2rpm從PyPI下載軟件包,或者找到它的spec文件,或者如果沒有它,則創建一個,然後rpmbuild它)。或者,您可以說服RPM確實知道您確實擁有適當的等價物 - 只要您確信自己具有。或者你可以強制它忽略依賴關係並安裝包。

+0

1)我嘗試百勝安裝python-的WebOb 但我得到這個: \t加載的插件:亞馬遜-ID,rhui磅 \t無包裝的WebOb。 \t錯誤:沒有做 2)然後我試圖下載它: wget的https://pypi.python.org/packages/source/W/WebOb/WebOb-1.4.tar.gz 但如果我使用tar -zxvf來解壓縮它和easy_install實用程序,我想我會遇到同樣的問題。 我該怎麼辦? – PJ8912

+0

@ PJ8912:我知道有Fedora/RHEL/CentOS /等。它已經有很多年了(它在[rpmfind](http://www.rpmfind.net/linux/rpm2html/search.php?query=python-webob))上有一個頁面)。您可能需要爲'yum'啓用額外的回購才能找到它。但是這變成了RHEL管理問題,您應該在SuperUser或Unix.se或其他某個站點上詢問,而不是SO。 – abarnert

0

安裝梯形失真時遇到同樣的問題。 原因是我不能夠添加此額外的回購協議:

# subscription-manager repos --enable=rhel-7-server-optional-rpms 
# subscription-manager repos --enable=rhel-7-server-extras-rpms 

我的解決方法是我用的是公衆的CentOS yum軟件庫,並安裝缺少的包。因爲RHEL EPEL回購不會獲得缺少的依賴關係,就像您注意到錯誤:無事可做。