Je veux que mon setup.py fasse des actions personnalisées en plus d'installer le paquet Python (comme installer un script init.d, créer des répertoires et des fichiers, etc.) Je sais que je peux personnaliser les classes distutils/setuptools pour faire les miennes actes. Le problème que j'ai est que tout fonctionne quand je cd dans le répertoire du paquet et que je fais "python setup.py install", mais mes classes personnalisées ne semblent pas être exécutées quand je fais "easy_install mypackage.tar.gz". Voici mon fichier setup.py (créer un fichier myfoobar.py vide dans le même répertoire pour tester):Comment faire pour que easy_install exécute des commandes personnalisées dans setup.py?
import setuptools
from setuptools.command import install as _install
class install(_install.install):
def initialize_options(self):
_install.install.initialize_options(self)
def finalize_options(self):
_install.install.finalize_options(self)
def run(self):
# Why is this never executed when tarball installed with easy_install?
# It does work with: python setup.py install
import pdb;pdb.set_trace()
_install.install.run(self)
setuptools.setup(
name = 'myfoobar',
version = '0.1',
platforms = ['any'],
description = 'Test package',
author = 'Someone',
py_modules = ['myfoobar'],
cmdclass = {'install': install},
)
La même chose se produit même si j'importer « setup » et « install » de distutils. Des idées comment je pourrais faire easy_install exécuter mes classes personnalisées?
Pour clarifier, je ne veux pas utiliser quelque chose de plus, comme Buildout ou Paver.
Pas la réponse que j'espérais, mais je suppose que le meilleur qui puisse être donné, donc je l'attribue comme réponse. Merci! –