árbol Proyecto:Configuración setup.py para el embalaje de un solo archivo .py y un único archivo de datos sin necesidad de crear ninguna carpeta
$.
├── happy_birthday-art.txt
├── happy_birthday.py
├── MANIFEST.in
├── README.rst
└── setup.py
setup.py
from setuptools import setup
setup(
name='Happy_birthday',
py_modules=['happy_birthday'],
data_files=['happy_birthday-art.txt'],
entry_points={
'console_scripts': ['happy_birthday = happy_birthday:main', ],},
long_description=open('README.rst').read(),
)
Ahora cuando hago python setup.py sdist
y luego pip install
el archivo creado .tar.gz
en un entorno virtual me aparece el siguiente mensaje:
warning: install_data: setup script did not provide a directory for 'happy-birthday-art.txt' -- installing right in '/home/username/.virtualenvs/happy_birthday'
El programa usa ese archivo .txt por lo que falla al intentar ejecutarlo después.
Pero no quiero instalar happy_birthday-art.txt
en una carpeta separada. Quiero instalarlo en la carpeta donde está instalado happy_birthday.py
. Además, no quiero tener que usar rutas absolutas en setup.py
. ¿Cómo configuro mejor mi archivo setup.py
?
La pretensión es que el awkardness es de la ubicación http: // stackoverflow. com/a/5423147/1240268 (que es gratis si lo tiene dentro de un paquete) –