解决这些缺陷的方法是:
- 获取
setup.py
从执行的Python解释器的完整路径sys.executable
。 - 继承自的类
distutils.cmd.Command
(例如distutils.command.install.install
我们在此处使用的类)实现该execute
方法,该方法以“安全方式”(即尊重空运行标志)执行给定功能。
但是请注意,该
--dry-run选项当前已损坏,无论如何都无法正常工作。
我得到了以下解决方案:
import os, sysfrom distutils.core import setupfrom distutils.command.install import install as _installdef _post_install(dir): from subprocess import call call([sys.executable, 'scriptname.py'], cwd=os.path.join(dir, 'packagename'))class install(_install): def run(self): _install.run(self) self.execute(_post_install, (self.install_lib,), msg="Running post install task")setup( ... cmdclass={'install': install},)
请注意,我将类名
install用于派生类,因为这
python setup.py --help-commands将使用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)