目前,我正试图使用SCL CentOS存储库为我们在CentOS 6上的一个应用程序建立一个环境。这个应用程序还需要一些额外的python模块,比如numpy,所以我正在尝试构建这些模块;我正在接近这些模块,但是当我构建包时,它需要python(abi) => 3.3。
根据SCL文档,我想更改需求,这是很明显的,我在/etc/rpm/macros.python3.python33中看到了一堆goo,它看起来应该处理这个问题(这是一个隐式的需求,而不是我可以在specfile中更改的),但是我不知道如何让这些宏覆盖see文件中的各种宏。是否有人为python模块构建了RPM以添加到python33 SCL中,您采取了哪些步骤?
为了记录在案,到目前为止这是我的程序:
setup.py bdist --format=rpm # to generate the base specfile, numpy.spec
spec2scl numpy.spec # to generate the SCLed specfile
(edit specfile to remove %define __os_install_post bloc which doesn't cooperate with SCL)
rpmbuild -ba numpy.py -D 'scl python33' # to try and build the RPM from the specfile这给我带来了一个RPM,但是有了坏的需求(它需要是python33-python(abi))。
发布于 2014-11-30 00:44:31
您可能已经解决了这个问题,但是我想用对我来说很容易使用的方法进行更新。
我的情况如下:
我正在从下载的鸡蛋文件中构建几个python27 SCL,使用脚本来完成所有的功能:这就是我如何为我们的Python应用程序引入所有的依赖项,并在亚特兰西安竹计划中运行,以构建web应用程序RPM。
就这里讨论的需求问题而言-
我以编程方式将包名替换为“python 27-python-”前缀,所有打包的文件都获得了“/opt/rh/python 27/ root”的SCL根路径,所以一切都很好.只不过他们都拿起了python(abi) = 2.7的要求,而你的要求是3.3。
注意:由于我用SCL版本替换了包的“名称”,所以我保存了一个新的setup.py文件,我调用了这个文件:
setupSCL.py我尝试了一些宏的咒语,但是解决需求问题的方法其实很简单。
在我的setup.py命令行中,我刚刚添加了:
--no-autoreq为了替换错误的自动要求,我重新添加了我们都在寻找的SCL版本:
--requires "python27-python"所以我的实际命令行是:
python setupSCL.py bdist_rpm --no-autoreq --requires "python27-python" &> /dev/null轰隆隆!工作起来像个冠军
因此,当我使用yum (在本例中是djangorestframework)检查需求时:
我得到:
yum deplist /root/rpmbuild/SOURCES/djangorestframework-2.4.4/dist/python27-python-djangorestframework-2.4.4-1.noarch.rpm
Finding dependencies:
package: python27-python-djangorestframework.noarch 2.4.4-1
dependency: python27-python
provider: python27-python.x86_64 2.7.5-7.el6.centos.alt希望这有一天能帮到某人..。
https://serverfault.com/questions/618484
复制相似问题