2016-01-31 2 views
2

Я пишу свой первый пакет, который будет использоваться в базе данных pypi ...Пакет pypi не устанавливается со всеми файлами?

Мне потребовалось много усилий, чтобы все было правильно упаковано, но я, наконец, сделал.

У меня есть такая структура.

---dist 
---package.egg-info 
---MANIFEST.in 
---setup.py 
---package/ 
    ---__init__.py 
    ---file.py 
    ---info.txt 
    ---templates/ 
     ---template.html 

сейчас в моей папке dist при извлечении файла tar.gz я вижу все. но когда я запускаю пакет установки пакета, я получаю только яйцо и файлы init .py и file.py, а не другие текстовые файлы и файлы шаблонов.

Почему это?

Setup.py добавил ...:

setup(name='django-g-recaptcha', 
     version='0.1.2', 
     description='Django view decorator to validate google recaptcha forms', 
     url='https://bitbucket.org/deltaskelta/django-g-recaptcha-validate/overview', 
     author='Jeff Willette', 
     author_email='[email protected]', 
     keywords = ['django', 'recaptcha', 'catpcha'], 
     packages = ['g_recaptcha',], 
) 
+1

Пожалуйста, предоставьте свой код 'setup.py', без которого это просто догадывается. Тем не менее, в зависимости от установки pip устанавливает файлы данных в каталог для данных в конкретной системе, а не внутри каталога вашего пакета в пакетах сайтов. – Nikita

+0

добавил (а) сообщение. Я был в предположении, что MANIFEST.in позаботился о добавлении файлов данных вместо setup.py, поскольку я структурировал его таким образом – deltaskelta

ответ

2

Добавить include_package_data = True в setup() аргументы:

setup(name='django-g-recaptcha', 
     version='0.1.2', 
     description='Django view decorator to validate google recaptcha forms', 
     url='https://bitbucket.org/deltaskelta/django-g-recaptcha-validate/overview', 
     author='Jeff Willette', 
     author_email='[email protected]', 
     keywords = ['django', 'recaptcha', 'catpcha'], 
     packages = ['g_recaptcha',], 
     include_package_data = True 
) 

Это должно помочь, но я предлагаю использовать package_data вместе с MANIFEST.in. А также вы можете добавить параметр, указывающий, что ваш пакет предназначен для использования с Django.

Для получения дополнительной информации см. https://pythonhosted.org/setuptools/setuptools.html.

+0

, о котором вы говорите в настройке django? Я не могу найти его где-нибудь – deltaskelta

+0

'install_requires' см. Объявление зависимостей по ссылке в ответе. Также «framework», но это менее важно, это больше похоже на META-DATA, который поможет людям найти ваше приложение. – Nikita

+0

ОК спасибо, формулировка заставляла меня думать, что это было что-то еще – deltaskelta

Смежные вопросы