Python setuptools 中的自定義安裝後腳本
問題:
我們可以執行安裝後腳本作為setuptools setup.py 檔案的一部分?該腳本應在本機執行 python setup.py install 或 pip install
答案:
要求:
請注意,此解決方案僅在從來源發行版安裝期間有效( zip、tarball)或以可編輯模式安裝時。從二進制輪子(.whl)安裝時它不會執行。
透明解決方案:
要實現所需的行為,我們可以修改 setup.py 文件,而無需創建附加文件。我們需要考慮開發/可編輯模式和安裝模式的不同場景:
1.開發模式:
建立一個PostDevelopCommand 類,該類擴展setuptools.command. develop 並包含您的安裝後腳本:
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。安裝模式:
建立一個PostInstallCommand 類,該類擴展setuptools.command.install 並包含您的安裝後腳本:
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.與setup. py 整合:
將以下行加入setup.py 中的setup() 函數中:
setup( ... cmdclass={ 'develop': PostDevelopCommand, 'install': PostInstallCommand, }, ... )
這將啟用安裝後腳本的執行或在從來源安裝或在可編輯模式下自動運作。
以上是我們可以在 Python setuptools 中執行安裝後腳本嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!