Maison > Article > développement back-end > Pouvons-nous exécuter un script post-installation dans les outils de configuration Python ?
Script de post-installation personnalisé dans les outils de configuration Python
Question :
Pouvons-nous exécuter un script de post-installation dans le cadre du fichier setup.py de setuptools ? Ce script devrait s'exécuter automatiquement après l'exécution de python setup.py install localement ou de pip install
Réponse :
Exigence :
Notez que cette solution n'est active que lors des installations à partir des distributions sources ( zip, tarball) ou lors de l'installation en mode modifiable. Il ne s'exécutera pas lors de l'installation à partir de roues binaires (.whl).
Solution transparente :
Pour implémenter le comportement souhaité, nous pouvons modifier le fichier setup.py sans créer des fichiers supplémentaires. Nous devons envisager des scénarios distincts pour le mode développement/modifiable et le mode d'installation :
1. Mode de développement :
Créez une classe PostDevelopCommand qui étend setuptools.command.develop et inclut votre script de post-installation :
from setuptools import setup from setuptools.command.develop import develop class PostDevelopCommand(develop): def run(self): develop.run(self) # Your post-installation script or function can be called here
2. Mode d'installation :
Créez une classe PostInstallCommand qui étend setuptools.command.install et inclut votre script de post-installation :
from setuptools import setup from setuptools.command.install import install class PostInstallCommand(install): def run(self): install.run(self) # Your post-installation script or function can be called here
3. Intégration avec setup.py :
Ajoutez les lignes suivantes à votre fonction setup() dans setup.py :
setup( ... cmdclass={ 'develop': PostDevelopCommand, 'install': PostInstallCommand, }, ... )
Cela permettra l'exécution de votre script post-installation ou fonctionner automatiquement lors de l'installation à partir de la source ou en mode modifiable.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!