我希望我的setup.py做一些自定义操作,除了刚刚安装Python包(如安装一个脚本init.d中,创建目录和文件等),我知道我可以自定义的distutils/setuptools的班做我自己动作。我遇到的问题是,当我cd到软件包目录并执行“python setup.py install”时,一切正常,但当我执行“easy_install mypackage.tar.gz”时,我的自定义类似乎不会被执行。这是我的setup.py文件(创建在同一目录空myfoobar.py文件来测试):如何使easy_install在setup.py中执行自定义命令?
import setuptools
from setuptools.command import install as _install
class install(_install.install):
def initialize_options(self):
_install.install.initialize_options(self)
def finalize_options(self):
_install.install.finalize_options(self)
def run(self):
# Why is this never executed when tarball installed with easy_install?
# It does work with: python setup.py install
import pdb;pdb.set_trace()
_install.install.run(self)
setuptools.setup(
name = 'myfoobar',
version = '0.1',
platforms = ['any'],
description = 'Test package',
author = 'Someone',
py_modules = ['myfoobar'],
cmdclass = {'install': install},
)
同样的事情发生,即使我输入“设置”,并从distutils的“安装”。任何想法我可以让easy_install执行我的自定义类?
为了澄清,我不希望使用任何额外的费用,如扩建或摊铺机。
不是我希望的答案,但我想最好的,可以给,所以我把它作为答案。谢谢! – 2009-10-26 17:41:07