【问题标题】:Python distutils - Change Path RPM Installs ToPython distutils - 更改路径 RPM 安装到
【发布时间】:2014-12-12 05:52:58
【问题描述】:

我有 Python 2.7.5 并且正在使用 distutils (python setup.py bdist_rpm) 创建以下 RPM...

me@hostname:/tmp/dist$ rpm -qpil myApp-2.0.146-1.noarch.rpm
Name        : myApp
Version     : 2.0.146
Release     : 1
Architecture: noarch
Install Date: (not installed)
Group       : Development/Libraries
Size        : 290576
License     : GPL
Signature   : (none)
Source RPM  : myApp-2.0.146-1.src.rpm
Build Date  : Wed 15 Oct 2014 02:57:08 PM EDT
Build Host  : hostname.example.lan
Relocations : /usr
Vendor      : Me <me@example.lan>
URL         : https://otherhost.example.lan/myApp
Summary     : My application
Description :
My application
/tmp/myApp/CHANGELOG
/tmp/myApp/README
/tmp/myApp/some.sh
/tmp/myApp/some.py
/tmp/myApp/libs/another.py
/tmp/myApp/libs/another.sh
...

我想要实现的是在安装 RPM 时文件被放入...

/usr/local/bin/CHANGELOG
/usr/local/bin/README
/usr/local/bin/some.sh
/usr/local/bin/some.py
/usr/local/bin/libs/another.py
/usr/local/bin/libs/another.sh
...

...而不是在 /tmp 中。

是的,我了解 位置 在您看来可能是错误的/低于标准/非常规/非最佳实践/愚蠢/whatev,但这是必须的。我只是不知道该怎么做。我可以/应该在我的 distutils setup() 中做些什么(也许当我填充 setup()data_files 参数时?这不重要,但我将分享以下内容,只是为了传达我可以灵活地调用 @987654327 @.我的setup.py是由另一个Python脚本动态创建的,然后由另一个脚本通过subprocess运行。

我不知道是否可以“暂停”setup.py,以便我可以操作规范文件。我不能chroot 伪造东西。不知道如何处理,但看起来应该很简单。

【问题讨论】:

    标签: python rpm distutils rpmbuild rpm-spec


    【解决方案1】:

    回答:我现在不是动态生成 setup.py 和使用 distutils(这似乎有一些限制),而是生成一个 rpmbuild .spec 并且可以做我需要的。

    干杯。

    【讨论】:

    • 这绝对不是关于如何使用setuptools实现它的答案
    • @Ordiel,我没有看到任何可行的建议答案,包括您的答案。我做了我所做的,它奏效了,所以它必须是一个答案。此外,我没有提到setuptools,所以你的评论离题了。
    【解决方案2】:

    看到这个答案:https://stackoverflow.com/a/6220687/725021

    您应该尝试setup.cfg[install] 部分的install-lib 参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-24
      • 1970-01-01
      • 2021-12-31
      • 2011-04-18
      • 2017-05-29
      • 1970-01-01
      相关资源
      最近更新 更多