簡體   English   中英

我如何運行腳本文件作為python setup.py安裝的一部分?

[英]How would I run a script file as part of the python setup.py install?

我知道如何使用setup.pysetuptools來注冊腳本。 我將如何運行另一個腳本文件(比如一個make文件)作為python setup.py install

背景

我想我會使用類似的東西:

os.system('make maketarget') #from somewhere in the package

但是setuptools.setup收到一個字典,所以我不能在setup() /中添加這一行,我需要在setup.py install基本軟件包之后運行該腳本。

我知道我可以向setup.py添加命令,但我想在安裝步驟中調用此腳本。

我也可以默認只放置一個:

if sys.argv[-1] == 'install':
    os.system('do something in the shell')

並且只是在setup()之后放置這個塊,但不知怎的,這看起來不是非常pytonic(也容易出錯,我需要找到這個軟件包的安裝位置等)

您可以從setuptools繼承現有的install命令,並使用所需的功能對其進行擴展。 然后,您可以在setup函數中將其注冊為install命令:

from setuptools.command.install import install

class MyInstall(install):

    def run(self):
        install.run(self)
        print("\n\n\n\nI did it!!!!\n\n\n\n")

# in the setup function:
cmdclass={'install': MyInstall}

而不是print語句只需調用您的腳本。

請注意,有很多方法可以打包python軟件(雞蛋等)。 如果您只在安裝步驟中調用它,則不會為這些方法調用您的腳本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM