python install package as sub-package of another package -


i developing program ("homie") in python 2.7 eclipse / pydev contains several interfaces external api providers. inherit genric interface-class located inside __init__.py inside homie.interfaces

all interfaces should contained in sub-packages of homie.interfaces, such homie.interfaces.foo , homie.interfaces.bar. following divide-and-conquer concept created new projects each interface implementation, containing respective packages, such foo, respectively bar.

the problem now, setup.py script of course not find package myprogram.interfaces.foo during setup. example: worknet interface

#! /usr/bin/env python  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 worknet apis',     long_description=open('readme.txt').read(), ) 

will produce:

[neumannr@neumann-homeinfo worknet.tmp]$ python ./setup.py install running install running build running build_py error: package directory 'homie/interfaces/worknet' not exist [neumannr@neumann-homeinfo worknet.tmp]$  

if specify worknet instead of homie.interfaces.worknet of course install userbase instad of homie.interfaces. how can tell script install worknet package homie.interfaces, path homie.interfaces.worknet?

point package directory package_dir

package_dir parameter can provide information find packages.

pointing existing worknet directory

assuming, worknet directory directly in project root, shall dd parameter package_dir setup call

package_dir = {'homie.interfaces': ''} 

moving package subdirectory homie/interfaces

another option is, reorganize code directories. e.g .you creat path homie/interfaces/ , move existing worknet subdirectory.

in such case, add

package_dir = {'homie.interfaces': 'homie/interfaces'} 

Comments

Popular posts from this blog

how to proxy from https to http with lighttpd -

android - Automated my builds -

python - Flask migration error -