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

Ari*_*Ari 3 python pip package

如何在要在 Linux 和 Windows 上使用的 python 包中包含 properties/ini 文件?

我尝试通过将 ini 文件放置在 Project 文件夹下来创建 python 包,以便我可以使用如下代码访问它:

File = open("props.ini", 'r')
Run Code Online (Sandbox Code Playgroud)

然后我将包部署到 .tar.gz 文件中,如下所示:

$ python setup.py sdist
Run Code Online (Sandbox Code Playgroud)

然后我安装该软件包(使用 Linux 机器):

$ sudo pip install package_name.tar.gz
Run Code Online (Sandbox Code Playgroud)

我在这里获取 .py 文件:

/usr/local/lib/python2.7/dist-packages/package_name/*.py
Run Code Online (Sandbox Code Playgroud)

我在这里获取打开程序的脚本:

/usr/local/bin/myScript
Run Code Online (Sandbox Code Playgroud)

但我没有得到我的 .ini 文件。

jco*_*ado 6

一种方法是将配置文件放在源代码下的目录中。

例如,如果您的源代码位于src目录下,则可以将配置文件添加到src/config. 之后,对于src目录中的任何代码,您可以使用以下命令访问配置文件:

config_filename = os.path.join(os.path.dirname(os.path.realpath(__file__)), 
                               'config', <filename>)
Run Code Online (Sandbox Code Playgroud)

为了在分发代码时保持相同的目录结构,函数setup需要setup.py使用参数了解这些新文件package_data

setup(
...
package_data={'src': ['config/*',]},
...
)
Run Code Online (Sandbox Code Playgroud)