打包python应用程序,包括配置文件

打包python应用程序,包括配置文件,python,configuration-files,setup.py,python-packaging,Python,Configuration Files,Setup.py,Python Packaging,因此,目前我有一个python应用程序,我想从中使用setup.py创建一个包。其中一个python模块(下面的main.py)具有指向配置文件的硬编码(相对)路径。此文件中的一个配置也是一个目录路径,该目录包含作为子进程启动的模块(module_a.py、module_B.py)。 因此,初始python模块读取配置文件以获取其他python模块的路径,然后这些模块作为子进程启动。 在通过setup.py打包应用程序时,是否可以以某种方式保持相同的结构?如何在setup.py中定义配置文件,以

因此,目前我有一个python应用程序,我想从中使用setup.py创建一个包。其中一个python模块(下面的main.py)具有指向配置文件的硬编码(相对)路径。此文件中的一个配置也是一个目录路径,该目录包含作为子进程启动的模块(module_a.py、module_B.py)。
因此,初始python模块读取配置文件以获取其他python模块的路径,然后这些模块作为子进程启动。
在通过setup.py打包应用程序时,是否可以以某种方式保持相同的结构?如何在setup.py中定义配置文件,以及如何引用最终存储在site packages目标目录中的模块

base_dir
|-- main.py
|-- configurations_dir
    |-- conf_file
|-- modules_dir
    |-- __init__.py
    |-- module_A.py
    |-- module_B.py
|-- setup.py
setup.py

from setuptools import setup, find_packages
import sys,os

setup(
    name = 'telemetry-brain',
    version = '1.0.0',
    description = 'Send telemetry data to Azure IoT Hub',
    license='GPL v3',
    author = 'Eltjon Sulaj',
    packages = find_packages(),
    install_requires=[],
    entry_points = {
        'console_scripts': [
            'telemetry-brain.sendtel=busmodules.monitor:main']
            },
    classifiers = [
            'Programming Language :: Python :: 3.8',
            'Operating System :: OS Independent',
            'License :: OSI Approved :: GNU General Public License v3 (GPLv3)']
)


这回答了你的问题吗?你试过什么?显示您当前的
setup.py
。您好,sinoroc。我已经包括setup.py,它是一个基本的。我也研究过这个答案,但我还没有尝试过:这个答案能回答你的问题吗?你试过什么?显示您当前的
setup.py
。您好,sinoroc。我已经包括setup.py,它是一个基本的。我也研究过这个答案,但我还没有尝试过: