我正在尝试使用RPM托管django Web应用程序.
当安装在裸机centos机器上时,此RPM软件包应安装所需的所有依赖项,并配置httpd服务器以为应用程序提供服务.
这是我的RPM规范文件的要点.
Requires: epel-release, python2, python-setuptools, python-pip, python-virtualenv, python-devel, httpd, mod_wsgi, git, sqlite
Run Code Online (Sandbox Code Playgroud)
据我所知,安装epel-release软件包后可以在centos 7上安装python-pip.
https://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F
基本上,
我的RPM包 - >取决于 - > python-pi - >取决于 - > epel-release
这就是为什么我在Requires标签的spec文件中添加了epel-release作为第一个依赖项.
但是,当我安装我的RPM包时,我收到错误并且安装失败.
这是我安装我的包的方式.
yum localinstallinstall packagename-1-1.0.x86_64.rpm -v
Run Code Online (Sandbox Code Playgroud)
我收到的错误是"找不到包python-pip"
epel-release标记为安装.但是还没有安装,因为找不到python-pip,它也失败了.
我想要实现的是它应该安装epel-release然后再安装python-pip.
RPM尝试在安装任何内容之前解析所有依赖项.这可以防止你安装一堆软件包然后说"哎呀,我们找不到python-pip"并回滚.如果epel-release尚未安装软件包,yum则不知道在哪里查找python-pip,因此无法配置依赖项.
问题是python-pip不依赖于epel-release同样的方式; 它不是由RPM系统管理的依赖项.相反,安装epel-release将告诉yum他以前不知道存在的新存储库.一旦有了它,它可以安装python-pip得很好.
相反,您应该删除epel-release依赖项,并在文档中说明您的包需要EPEL.
| 归档时间: |
|
| 查看次数: |
362 次 |
| 最近记录: |