설치 후 (easy_install'ing 중이거나 python setup.py를 설치할 때) 실행되는 setup.py에 후크를 추가하고 싶습니다.easy_install/setuptools/distutils에 설치 후 스크립트를 어떻게 추가합니까?
내 프로젝트에서 PySmell, 나는 Vim과 Emacs를위한 몇 가지 지원 파일을 가지고있다. 사용자가 PySmell을 일반적인 방법으로 설치할 때,이 파일들은 실제 달걀에 복사되고, 사용자는 그 파일들을 물고기로 뽑아내어 .vim 또는 .emacs 디렉토리에 넣어야합니다. 내가 원하는 것은 사용자, 설치 후,이 파일을 복사 할 곳을 물어 보는 것, 심지어는 파일의 위치를 출력하는 메시지뿐 아니라 파일로 무엇을해야 하는지를 묻는 것입니다.
가장 좋은 방법은 무엇입니까?
감사
는내 setup.py 지금과 같습니다
이#!/usr/bin/env python
# -*- coding: UTF-8 -*-
from setuptools import setup
version = __import__('pysmell.pysmell').pysmell.__version__
setup(
name='pysmell',
version = version,
description = 'An autocompletion library for Python',
author = 'Orestis Markou',
author_email = '[email protected]',
packages = ['pysmell'],
entry_points = {
'console_scripts': [ 'pysmell = pysmell.pysmell:main' ]
},
data_files = [
('vim', ['pysmell.vim']),
('emacs', ['pysmell.el']),
],
include_package_data = True,
keywords = 'vim autocomplete',
url = 'http://code.google.com/p/pysmell',
long_description =
"""\
PySmell is a python IDE completion helper.
It tries to statically analyze Python source code, without executing it,
and generates information about a project's structure that IDE tools can
use.
The first target is Vim, because that's what I'm using and because its
completion mechanism is very straightforward, but it's not limited to it.
""",
classifiers = [
'Development Status :: 5 - Production/Stable',
'Environment :: Console',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Topic :: Software Development',
'Topic :: Utilities',
'Topic :: Text Editors',
]
)
편집 : easy_install을 함께
이from setuptools.command.install import install as _install
class install(_install):
def run(self):
_install.run(self)
print post_install_message
setup(
cmdclass={'install': install},
...
없음 운 : 여기
가 python setup.py install
을 보여줍니다없는 스텁입니다 아직 경로.
'setuptools.install.install : run()'을 명시 적으로 호출하면'install_requires' 설정 인수가 해결되지 않고 다른 방법으로 작동하는 것처럼 보입니다. – astronaut
@astronaut use 'do_egg_install', 여기에 설명 된대로 : http://stackoverflow.com/questions/21915469/python-setuptools-install-requires-is-ignored-when-overrid-cmdclass –