如何在要在Linux和Windows上使用的python包中包含properties / ini文件?
我尝试通过将ini文件放在Project文件夹下来创建一个python包,以便我可以使用以下代码访问它:
File = open("props.ini", 'r')
然后我将我的包部署到.tar.gz文件中:
$ python setup.py sdist
然后我安装软件包(使用Linux机器):
$ sudo pip install package_name.tar.gz
我在这里得到我的.py文件:
/usr/local/lib/python2.7/dist-packages/package_name/*.py
我的脚本在这里打开程序:
/usr/local/bin/myScript
但我没有收到我的.ini文件。
答案 0 :(得分:2)
一种方法是将配置文件放在源代码下的目录中。
例如,如果源代码位于src
目录下,则可以在src/config
下添加配置文件。之后,对于src
目录中的任何代码,您可以使用以下命令访问配置文件:
config_filename = os.path.join(os.path.dirname(os.path.realpath(__file__)),
'config', <filename>)
要在分发代码时保持相同的目录结构,setup
中的setup.py
函数需要使用package_data
参数了解这些新文件:
setup(
...
package_data={'src': ['config/*',]},
...
)