【问题标题】:How do you install keystone on RHEL v.7?如何在 RHEL v.7 上安装 keystone?
【发布时间】:2015-07-13 11:34:32
【问题描述】:

我正在尝试在 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 [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?

【问题讨论】:

  • 您将rpm 系统范围的设置与pip 混合在一起。尝试通过rpmpip 制作所有内容。

标签: python openstack rhel keystone webob


【解决方案1】:

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 相信你确实有一个合适的等价物——只要你确定你有。或者你可以强制它忽略依赖并安装包。

【讨论】:

  • 1) 我试过 yum install python-webob 但我得到了这个: 加载的插件:amazon-id, rhui-lb 没有可用的包 webob。错误:无事可做 2)然后我尝试下载它:wget pypi.python.org/packages/source/W/WebOb/WebOb-1.4.tar.gz 但是如果我使用 tar -zxvf 解压缩它和 easy_install 实用程序,我想我会遇到同样的问题。我该怎么办?
  • @PJ8912:我知道有 Fedora/RHEL/CentOS/etc。它的 RPM 多年(它在 rpmfind 上有一个页面)。您可能需要为 yum 启用额外的 repo 才能找到它。但这变成了一个 RHEL 管理问题,你应该在 SuperUser 或 Unix.se 或其他网站上提问,而不是 SO。
【解决方案2】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-14
    • 2014-10-28
    • 2017-12-05
    • 2016-02-17
    • 2021-03-02
    • 2014-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多