我使用setuptools中的setup方法创建了一个python包,它运行得很完美。
我有这个并且它完美地运作了:
setup(
name='whatever',
version='1.0.0',
packages=find_packages(),
license='MIT',
author='Sheldan',
install_requires=['psutil',
'itsdangerous',
'flask',
'python-crontab',
'enum34',
'requests',
'kitchen',
'python-dateutil',
'flask-login'],
include_package_data=True,
data_files=get_data_from_folder('logs') + get_data_from_folder('resources')
)
然后我需要执行一些安装后的步骤。经过一些研究,似乎我必须覆盖执行的命令。
所以我在上面的设置中添加了cmdclass={'install': install}
并添加了一个名为install的类,如下所示:
class install(_install):
def run(self):
_install.run(self)
self.execute(_post_install, (self,),
msg="Running post install task")
_post_install
只是一个执行安装后步骤的方法。
但由于某种原因,在我添加命令后,应该通过data_files复制的文件现在被更长时间复制,我看到目标路径不再是'yt_crawler-1.0.0-py.2.7-egg'
,而只是'yt_crawler'
< / p>
经过一些研究后,似乎没有执行'bdist_egg'
命令。
答案 0 :(得分:0)
我通过调用self.do_egg_install()而不是_install.run(self)来修复它。