首頁 > 後端開發 > Python教學 > 我們可以在 Python setuptools 中執行安裝後腳本嗎?

我們可以在 Python setuptools 中執行安裝後腳本嗎?

Mary-Kate Olsen
發布: 2024-11-15 05:06:02
原創
313 人瀏覽過

Can we execute a post-installation script in Python setuptools?

Python setuptools 中的自定義安裝後腳本

問題:

我們可以執行安裝後腳本作為setuptools setup.py 檔案的一部分?該腳本應在本機執行 python setup.py install 或 pip install 後自動執行來自 PyPI。

答案:

要求:

請注意,此解決方案僅在從來源發行版安裝期間有效( 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板