Файл свойств (INI-файл) не входит в пакет Python - PullRequest
2 голосов
/ 22 декабря 2011

Как включить файл properties / ini в пакет python, который будет использоваться как в Linux, так и в Windows?

Я попытался создать пакет python, поместив файл ini в папку Project, чтобыЯ могу получить к нему доступ, используя код, подобный следующему:

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 Ответ

3 голосов
/ 22 декабря 2011

Один из способов сделать это - поместить файл конфигурации в каталог с вашим исходным кодом.

Например, если ваш исходный код находится в каталоге 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/*',]},
...
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...