如何通过python设置执行脚本或函数?
我经常分发我的包裹,非常方便。现在,我想在用户通过类似于如何通过python设置执行脚本或函数?,python,pip,setuptools,Python,Pip,Setuptools,我经常分发我的包裹,非常方便。现在,我想在用户通过类似于pip install mypackage的命令安装我的软件包之后执行一个脚本或函数。我想我可以找到像register(FunctionCalledTerpackageInstalled)这样的API,就像atexit.register(someFunction),在python中经常使用它在应用程序退出之前执行函数,但我失败了。所以我想问:有没有什么优雅的方式来做这样的事情 Background:我在包中引用了一个经常更新的dll,我不想
pip install mypackage
的命令安装我的软件包之后执行一个脚本或函数。我想我可以找到像register(FunctionCalledTerpackageInstalled)
这样的API,就像atexit.register(someFunction)
,在python中经常使用它在应用程序退出之前执行函数,但我失败了。所以我想问:有没有什么优雅的方式来做这样的事情
Background:我在包中引用了一个经常更新的dll,我不想把它放在我的pakcage中,所以我不需要关心更新。我只想在我的用户安装我的软件包后,通过函数调用自动下载它。而且环境是WINDOWS,因此linux pakcage管理工具不起作用。在setup.py
文件中调用setup()
后,您可以调用另一个Python函数或方法。因此,您可以通过示例运行python函数生成所需内容,或使用子流程执行外部命令
它将产生如下结果:
from distutil.core import setup
import subprocess
setup( ... stuff ...)
# Call external command
subprocess.Popen('command here', ... attrs ...)
# Or another Python function you wrote
my_function()
在setup.py
中调用setup()
后,可以执行其他Python函数/方法。所以在这里,您可以运行Python程序或系统调用(以子流程为例)。@arunt哇,太好了,这就是我需要的。谢谢你。所以我会做一个合适的anwser,也许它会帮助其他人。