-3

我正在尝试在 RHEL v. 7 的 64 位版本上安装 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 [DOT] com/osp9o93(您必须构建上面的 HTTP 链接,因为我无法发布链接;但有人可能会在不证明研究的情况下帮助我)

它引导用户去这里:tinyurl [DOT] com/65s3xm6(你必须构建上面的 HTTP 链接,因为我无法发布链接;但有人可以在不证明研究的情况下帮助我)

我安装的 webob 版本(如 pip 命令结果所示)足够新。RHEL v.7 不是安装 keystone 的可接受版本吗?

我只想在 RedHat Linux 上安装 keystone。我不知道为什么这是有问题的。

python-webob 与 webob 有什么不同?是否有 32 位版本的 web 1.4.1?

4

2 回答 2

0

RPM 包管理器只知道你用 RPM 工具安装的东西。

python-webobRPM可能相当于包装在 RPM 中的 PyPI 包……webob但 RPM 工具不知道这一点。据它所知,您必须拥有python-webobRPM,否则这些其他软件包将无法工作。

所以,这里的简单答案是 topip uninstall webob然后yum install python-webob

或者,当然,您可以pip install使用所有这些 Python 库,然后手动安装需要它们的程序(假设它不是 PyPI 包)。

更一般地说,尝试始终如一地为所有事情做一个或另一个。要么只安装 RPM,要么从不安装 RPM。一旦开始混合和匹配,就会遇到这些问题。

有更难的答案,*但除非简单的答案由于某种原因不合适,否则我会选择简单的方法。


* 您可以从每个 PyPI 包构建自定义 RPM 并安装它;我相信甚至有工具可以实现自动化(比如从 PyPI 下载一个包,然后找到它的文件pip2rpm或构建一个,如果它没有,那么它)。或者你可以让 RPM 相信你确实有一个合适的等价物——只要你确定你有。或者您可以强制它忽略依赖项并安装软件包。pypi2rpmspecrpmbuild

于 2015-05-04T06:52:05.890 回答
0

安装keystone时我遇到了同样的问题。原因是我无法添加这个额外的回购:

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

我的解决方法是使用公共 centos yum 存储库,并安装缺少的软件包。因为 RHEL EPEL 存储库不会获得缺少的依赖项,正如您在错误中注意到的那样:无事可做。

于 2015-10-10T09:51:38.657 回答