В Ubuntu 16.04 и Windows 7 (pip 18.1, python 2.7.15) я столкнулся с проблемой, когда у меня есть package data
, которая пробивается в файл tar.gz, но они не устанавливаются в мойКаталог скриптов при установке с помощью pip.Мой каталог скриптов на Windows \Python27\Scripts
.Я также зарегистрировался в site-packages
, и файл там не отображается.Я хочу, чтобы текстовый файл появлялся рядом со скриптами Python при установке через pip, и я думаю, что использование data_files
не позволяет этого достичь (в соответствии с setup.py не устанавливает файлы данных ?
В моей структуре пакета все файлы (hello.py, MANIFEST.IN, setup.py
) находятся в одной корневой папке с именем fakeapp
. Я хотел бы сохранить эту структуру как проект, который я на самом деле пытаюсь исправить, имеет такую структуру.
Iпросмотрел много ответов и попытался:
- добавить пустую
__init__.py
в корень репозитория, но это не помогло. - Я пытался добавлять и удалять
include_package_files=True
безрезультатно - Я пытался указать
package_data={'':['texto.txt']}
, а также
, добавив include texto.txt
к MANIFEST.in
безрезультатно. - Этот ответ : предлагает использовать bdist, который также не работает.
Я уверен, что это дублирующий вопрос, но я не смог заставить работать какое-либо решение.
Итак, вот мой тестовый пример: setup.py
from setuptools import setup
setup(
author='hi',
author_email='hi@hi.com',
description="test",
scripts=['hello.py',],
license='MIT',
name='hi',
version='v2018.12.02',
include_package_data=True
)
hello.py:
#!/usr/bin/env python
def main():
print('hello world!')
if __name__ == '__main__':
main()
МАНИФЫT.in:
include texto.txt
Я создал tar.gz в dist / with
python setup.py sdist
, и мой texto.txt находится в этом tarball.
, а затемя установил с
pip install dist\hi-2018.12.2.tar.gz
и только hello.py
пробивается в C:\Python2.7\Scripts
Что я делаю не так?
Дерево каталогов:
│ hello.py
│ MANIFEST.in
│ setup.py
│ texto.txt
│
├───dist
│ hi-2018.12.2.tar.gz
│
└───hi.egg-info
dependency_links.txt
PKG-INFO
SOURCES.txt
top_level.txt