如何从RPM中删除 .pyo 和 .pyc 文件?

3
我有一个用Python编写的代理程序。我想为它创建一个RPM包。这个RPM包只会将适当的文件放在它们应该在的位置,然后一些Python服务器会选择它们。 现在我的问题是,每当我生成RPM包时,对于每个.py文件,我也会得到.pyc和.pyo文件。我不需要这些pyc和pyo文件。 是否有任何标志或其他方法可以删除它们? 谢谢。

你如何生成 RPM 包? - Konstantin
rpmbuild --bb proxy.spec - Kanhaiya Choudhary
2
你确定你不需要这些吗?这个页面建议你需要,并解释了原因:https://fedoraproject.org/wiki/Packaging:Python - MarkHu
2个回答

6
我已经通过在RPM specfile中添加以下类似行来排除这些.pyc和.pyo文件的打包:
```exclude *.pyc exclude *.pyo```
%files
...
...
%exclude /path_to_files/*.pyc
%exclude /path_to_files/*.pyo

4

*.pyc和*.pyo文件是由rpm中的辅助脚本自动编译的。

最简单的禁用方法是在%install部分末尾添加“exit 0”以禁用运行辅助脚本。

否则,您需要更改构建配置并重新定义附加到%install脚本的宏。


嗨Jeff,我在%install脚本末尾添加exit 0时遇到以下错误。错误:无法打开/home/pal1/rpmbuild/BUILD/proxy-1.0/debugfiles.list文件:%files文件不存在或目录不存在。RPM构建错误: 无法打开/home/pal1/rpmbuild/BUILD/proxy-1.0/debugfiles.list文件:%files文件不存在或目录不存在。 - Kanhaiya Choudhary
尝试在/etc/rpm/macros中添加%debug_package %{nil} - luismartingil

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接