Question Installation de fichiers de données dans des packages de site avec setup.py


J'ai un paquet Python avec un programme d'installation setup.py standard mais je ne peux pas le faire pour installer des fichiers de configuration prédéfinis dans des paquets de site quelque part ... ma fonction setup () s'appelle comme ceci:

setup(
  name='Hydrant',
  version=version,
  description=long_description,
  author='Scott Frazer',
  author_email='scott.d.frazer@gmail.com',
  packages=['hydrant'],
  package_data={'hydrant': ['sql/*.sql', 'hydrant.conf', 'hydrant.deploy']},
  data_files=[('config', ['hydrant/hydrant.conf'])],
  install_requires=[
    "xtermcolor>=1.0.3",
    "pyyaml",
    "pymysql",
    "jprops"
  ],
  entry_points={
    'console_scripts': [
      'hydrant = hydrant.Main:Cli'
    ]
  },
  test_suite='hydrant.test',
  license = "MIT",
)

J'expérimentais avec package_data et data_files mais ils ne semblent tout simplement pas faire quelque chose. J'installe dans un environnement virtuel avec la ligne de commande:

$ python setup.py install

Toute idée serait grandement apprécié!


10
2018-03-13 18:22


origine


Réponses:


Essayez d'ajouter un MANIFEST.in fichier à votre module. Bien que AFAIK, il est uniquement utilisé pour ajouter des données aux paquets générés (fichiers de distribution oeufs ou tar.gz)
Regarde ça Question / réponse liée à StackOverflow.

D'autres programmeurs ont fait en sorte de passer aux distutils, mais je ne le recommanderais pas car il est déconseillé par la distribution.
Regarde ça autre question / réponse liée à StackOverflow


1
2018-04-09 11:43