2015-05-04 87 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回购不会获得缺少的依赖关系,就像您注意到错误:无事可做。