【发布时间】:2014-07-05 02:37:19
【问题描述】:
我正在使用 eclipse / pydev 在 python 2.7 中开发一个程序(“homie”),其中包含与外部 API 提供程序的多个接口。这些继承了位于__init__.py 内homie.interfaces 内的通用接口类
所有这些接口现在都应该包含在homie.interfaces 的子包中,例如homie.interfaces.foo 和homie.interfaces.bar。
遵循分而治之的概念,我为每个接口实现创建了新项目,包含各自的包,例如foo,分别为bar。
现在的问题是,我的setup.py 脚本在安装过程中当然找不到包myprogram.interfaces.foo。
示例:worknet 接口
#! /usr/bin/env python
from distutils.core import setup
setup(
name='Worknet-DBs Interface',
version='0.1-indev',
author='Richard Neumann',
author_email='mail@richard-neumann.de',
packages=['homie.interfaces.worknet'],
data_files=[],
license=open('LICENSE.txt').read(),
description='Interface implementation for the Worknet APIs',
long_description=open('README.txt').read(),
)
将产生:
[neumannr@neumann-homeinfo worknet.tmp]$ python ./setup.py install
running install
running build
running build_py
error: package directory 'homie/interfaces/worknet' does not exist
[neumannr@neumann-homeinfo worknet.tmp]$
如果我只指定worknet 而不是homie.interfaces.worknet,它当然会安装到homie.interfaces 的用户库中。
如何告诉脚本将worknet 包安装到homie.interfaces,所以它的路径是homie.interfaces.worknet?
【问题讨论】:
标签: python package installation