Integrasi Skrip Pasca Pemasangan dalam Alat Persediaan Python
Setupscript telah menjadi alat yang luar biasa untuk mengurus dan mengedarkan projek Python. Ia membolehkan pembangun mengautomasikan pelbagai tugas, termasuk prosedur pasca pemasangan. Artikel ini meneroka cara untuk menyepadukan skrip Python selepas pemasangan ke dalam persediaan alat persediaan anda.
Pengubahsuaian Skrip Persediaan
Untuk menentukan skrip selepas pemasangan, anda boleh menyesuaikan anda fail setup.py. Ini memerlukan mencipta arahan pemasangan tersuai yang melaksanakan skrip selepas pemasangan selesai. Berikut ialah contoh:
from setuptools import setup from setuptools.command.install import install class PostInstallCommand(install): def run(self): install.run(self) # Call your post-install script or function here setup( ..., cmdclass={ 'install': PostInstallCommand, }, ... )
Mod Pembangunan dan Pemasangan
Pertimbangkan bahawa anda mungkin memerlukan skrip selepas pemasangan yang berbeza untuk mod pembangunan dan pemasangan. Anda boleh mencipta arahan berasingan untuk mengendalikan senario ini dan memasukkannya ke dalam argumen cmdclass:
class PostDevelopCommand(develop): def run(self): develop.run(self) # Add development-specific post-install script here class PostInstallCommand(install): def run(self): install.run(self) # Add installation-specific post-install script here setup( ..., cmdclass={ 'develop': PostDevelopCommand, 'install': PostInstallCommand, }, ... )
Arahan Shell
Jika anda perlu melaksanakan perintah shell sebagai sebahagian daripada skrip selepas pemasangan anda, setuptools menyediakan cara yang mudah untuk berbuat demikian menggunakan check_call fungsi:
from setuptools import setup from setuptools.command.install import install from subprocess import check_call class PostInstallCommand(install): def run(self): check_call("apt-get install this-package".split()) install.run(self) setup( ..., cmdclass={ 'install': PostInstallCommand, }, ... )
Ini membolehkan anda melakukan sebarang konfigurasi sistem atau pemasangan sumber yang diperlukan semasa proses pemasangan.
Nota: Penyelesaian ini hanya berfungsi untuk pemasangan pengedaran sumber (cth., daripada tarballs atau fail zip) atau pemasangan dalam mod boleh edit. Ia tidak akan berfungsi apabila memasang daripada roda binari pra-bina (fail.whl).
Atas ialah kandungan terperinci Bagaimana untuk Mengintegrasikan Skrip Pasca Pemasangan ke dalam Python Setuptools?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!