我正在尝试使用RPM托管django web应用程序。
这个RPM包,当安装在一台裸的centos机器上时,应该安装所有所需的依赖项,并配置httpd服务器来为应用程序服务。
这是我的RPM规范文件的要点。
Requires: epel-release, python2, python-setuptools, python-pip, python-virtualenv, python-devel, httpd, mod_wsgi, git, sqlite据我所知,python可以在安装epel版本包后安装在centos 7上。
所以基本上,
我的RPM包->依赖于-> python-pi ->依赖于->epel-释放。
这就是为什么我在我的规范文件中添加了epel发布的,作为中的第一个依赖项需要标记。
但是,当我安装我的RPM软件包时,会出现错误,安装失败。
我就是这样安装我的软件包的。
yum localinstallinstall packagename-1-1.0.x86_64.rpm -v我收到的错误是“找不到软件包python-pip”。
epel发行版被标记为安装。但是还没有安装,而且也没有找到python,所以它失败了。
我想要实现的是,它应该安装epel发布以及然后安装python。
发布于 2018-06-26 07:31:30
RPM试图在安装任何东西之前解决所有依赖项。这使您无法安装一堆软件包,然后说"Oops,我们找不到python-pip“并回滚。如果epel-release包尚未安装,那么yum不知道在哪里找到python-pip,因此无法配置依赖项。
问题是python-pip不以同样的方式依赖epel-release;它不是由RPM系统管理的依赖关系。相反,安装epel-release将告诉yum一个以前不知道存在的新存储库。一旦有了这个功能,它就可以很好地安装python-pip。
相反,您应该删除epel-release依赖项,只需在文档中说明您的包需要EPEL。
https://stackoverflow.com/questions/51037161
复制相似问题