Я работаю над упаковкой небольшого проекта Python в виде файла zip или egg, чтобы его можно было распространять. Я столкнулся с двумя способами включения конфигурационных файлов проекта, оба из которых, похоже, дают одинаковые результаты.2 метода для включения файлов в дистрибутив Python: что лучше?
Метод 1:
Включите этот код в setup.py:
from distutils.core import setup
setup(name='ProjectName',
version='1.0',
packages=['somePackage'],
data_files = [('config', ['config\propFiles1.ini',
'config\propFiles2.ini',
'config\propFiles3.ini'])]
)
Метод 2:
Включите этот код в setup.py:
from distutils.core import setup
setup(name='ProjectName',
version='1.0',
packages=['somePackage']
)
Затем создайте MANIFEST.in файл с этой строкой в нем:
include config\*
Есть ли разница между методами? Какой из них предпочтительнее? Я склоняюсь к первому, потому что тогда никакой файл MANIFEST.in вообще не нужен. Тем не менее, в первом методе вы должны указать каждый файл отдельно, а во втором вы можете просто включить всю папку. Есть ли что-нибудь еще, что я должен принимать во внимание? Какова стандартная практика?
Примечание: используйте os.path.join для создания путей; использование «\» зависит от Windows. –
Вы также можете использовать '/' на всех платформах. Обратите внимание, что если у вас есть файл типа 'config \ notes.txt',' 'nn превратится в новую строку! Вам просто повезло, что '\ p' ни на что не стоит. –
@Ian Bicking - спасибо за подсказку! Я предусмотрел их все, чтобы позаботиться об этом – froadie