如何通过 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()
我用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()