在python setup.py install期间设置包级变量

3 投票
1 回答
903 浏览
提问于 2025-04-15 20:25

有没有办法让用户在输入

python setup.py install

来安装一个Python包时,setup.py可以在包的基础上设置一些特定的变量呢?一个常见的例子是,如果用户是从svn(一个版本控制工具)工作,可以把mypackage.__revision__设置为当前的svn版本号。另一个例子是,用户可以选择一个全局选项,这样mypackage.__option__就可以根据传递给setup.py的一个标志来设置,比如说:

python setup.py install --set-flag=10

那么在使用这个包的时候,mypackage.__option__的值就会变成10

1 个回答

0

SVN的版本可以通过SVN来设置,你不需要用setup.py去搞这些。

只要在文本中加上$Revision$这个标记,然后告诉SVN去替换就行了。

全局选项通常是通过配置文件来处理的。为什么要在安装的时候去折腾这些呢?创建和读取一个配置文件要简单得多,也更灵活。

比如,你可以安装一个配置文件,并在里面写上如何编辑它的说明。如果这个配置文件是用Python写的,那它其实就是配置中的一个变量。

THEOPTION = 10

这样就足够了。非常简单,非常标准化,也很容易管理。

撰写回答