对于各种不太好但很不幸的必要原因,我使用setup.py
文件来管理一些二进制资产。
在py setup.py build
或install
期间,我想在.py
安装的“普通”Python包中创建一个setup.py
文件,其中包含有关这些二进制资产的一些详细信息(他们的绝对路径,版本信息等)。
创建该文件的最佳方法是什么?
例如,我希望它可以像这样工作:
$ cd my-python-package
$ py setup.py install
...
Installing version 1.23 of my_binary_assets to /some/path...
...
$ python -c "from my_python_package import binary_asset_version_info as info; print info"
{"path": "/some/path", "version": "1.23"}
(注意:我正在使用cmdclass
参数setup(…)
来管理二进制资产的构建和安装......我只想知道如何创建binary_asset_version_info.py
示例中使用的文件)
答案 0 :(得分:1)
乍一看,你的需求中有一个catch-22:创建这个.py文件最明显的地方是build或build_py命令(为了获得通常的distutils操作,比如字节编译),但你想要该文件包含已安装资产的路径,因此您必须在安装步骤中创建它。我认为有两种方法可以解决这个问题:
a)在build_py期间创建info.py文件,并使用distutils机制获取资产文件的安装路径
b)在安装过程中创建info.py并调用distutils.util.byte_compile进行字节编译
我发现这两个想法都令人反感,但是好:)现在,你知道如何填写文件(即从distutils获取安装路径)吗?