属性文件(ini文件)不包含在python包中

时间:2011-12-22 09:19:13

标签: python package pip

如何在要在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文件。

1 个答案:

答案 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/*',]},
...
)