在python setup.py install期间设置包级变量
有没有办法让用户在输入
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
这样就足够了。非常简单,非常标准化,也很容易管理。