Я пишу файл setup.py для проекта Python, чтобы я мог его распространять. Цель состоит в том, чтобы в конечном итоге создать файл .egg, но я пытаюсь заставить его работать сначала с distutils и регулярным .zip.Почему я не могу включить эти файлы данных в дистрибутив Python, используя distutils?
Это проект затмение PyDev и моя файловая структура что-то вроде этого:
ProjectName
src
somePackage
module1.py
module2.py
...
config
propsFile1.ini
propsFile2.ini
propsFile3.ini
setup.py
Вот мой setup.py код до сих пор:
from distutils.core import setup
setup(name='ProjectName',
version='1.0',
packages=['somePackage'],
data_files = [('config', ['..\config\propsFile1.ini',
'..\config\propsFile2.ini',
'..\config\propsFile3.ini'])]
)
Когда я запускаю это (с sdist, как параметр командной строки). ZIP-файл генерируется с использованием всех файлов python, но файлы конфигурации не включены. Я думал, что этот код:
data_files = [('config', ['..\config\propsFile1.ini',
'..\config\propsFile2.ini',
'..\config\propsFile3.ini'])]
указывает, что эти 3 указанные конфигурационные файлы должны быть скопированы в «конфигурации» в дистрибутиве зип. Почему этот код ничего не делает? Что я делаю не так?
(я также пытался играть с дорожками конфигурационных файлов ... Но ничего, кажется, помогает. Would Python выдаст ошибку или предупреждение, если путь неверен/файл не был найден?)
Спасибо. Я получаю следующую ошибку: 'предупреждение: никакие файлы не найдены, соответствующие 'config \ *''. Я пытался изменить на .. \ config \ *, но это не помогает ни ... идеи? – froadie
Между «\» и «*» есть пробел. Попробуйте удалить это? Иначе попробуйте использовать косую черту. Я использовал косую черту, но поскольку вы, похоже, использовали обратную косую черту, я заменил '/' на '\' здесь. Тем не менее, я обнаружил, что использование/НЕ действительно вызывает проблемы в Windows. Если ничего не работает, просто проверить, являетесь ли вы на правильном пути по жестко прописывать имена файлов в него, как: включают конфиг/propsFile1.ini включают конфиг/propsFile2.ini # и т.д ... – Umang
Пространства было только из-за форматирования SO - когда я их складывал, он почему-то скрывал косую черту. Изменение наклонной косой черты не имеет значения ... Python, похоже, автоматически преобразует его обратно, то же сообщение об ошибке. Получите ту же ошибку в отдельных файлах ... :(какой-нибудь вопрос, что не так? Это проблема пути? – froadie