如何通过 python setuptools 执行脚本或函数?

How to execute a script or a funciton through python setuptoos?

我用Distutils 来分发我的包裹,非常方便。现在我想在用户通过 pip install mypackage 这样的命令安装我的包后执行脚本或函数。我以为我可以找到一个像register(funtionCalledAfterPackageInstalled)一样的API,就像atexit.register(someFunction)一样,它经常在python中用于在应用程序退出之前执行一个功能,但我失败了。所以我想问一下:有什么优雅的方法可以做这样的事情吗?

背景: 我在我的包中引用了一个经常更新的dll,我不想把它放在我的pakcage中所以我不需要关心更新.我只想在我的用户安装我的包后通过函数调用自动下载它。而且环境是 WINDOWS,所以 linux pakcage 管理工具不起作用。

setup.py 文件中调用 setup() 后,您可以调用另一个 Python 函数或方法。所以你可以 运行 python 函数制作你需要的东西或者用 subprocess 举例执行外部命令。

结果会是这样的:

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()