我正在尝试在64位版本的RHEL v.7上安装keystone(一个OpenStack组件)。我之前没有这样做过。
我跑了这个:
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的“错误”(不是一个真正的错误)开了,TinyURL的[点] com / osp9o93(你必须构造上面,因为我不能发布链接的HTTP链接;但有人也许能够帮助我无需证明研究)
它引导用户去这里:TinyURL的[点] com / 65s3xm6(你必须构造上面,因为我不能发布链接的HTTP链接;但有人也许能够帮助我无需证明的研究)
我安装的webob版本(由pip命令结果显示)足够新。 RHEL v.7不是安装keystone的可接受版本吗?
我只想在RedHat Linux上安装keystone。我不知道为什么这有问题。
python-webob与webob不同吗?是否有32位版本的Web 1.4.1?
答案 0 :(得分: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并进行安装;我相信甚至还有自动化工具(类似pip2rpm
或pypi2rpm
的工具来从PyPI下载一个包,找到它的spec
文件或者如果它没有一个就构建一个,然后rpmbuild
它。或者你可以说服RPM,你确实有一个合适的等价物 - 只要你确定你这样做。或者你可以强迫它忽略依赖关系并安装包。
答案 1 :(得分:0)
安装keystone时遇到同样的问题。 原因是我无法添加这个额外的回购:
# subscription-manager repos --enable=rhel-7-server-optional-rpms
# subscription-manager repos --enable=rhel-7-server-extras-rpms
我的解决方法是使用公共centos yum repo,并安装缺少的软件包。因为RHEL EPEL repo不会得到缺失的依赖性,就像你注意到Error:Nothing to。