[Distutils] distutils extension and setuptools
Hi, We currently develop a software to integrate packages (C++/Python) in plant modeling. We use SCons to build C++ library and Boost.Python to create the wrappers. We have extended distutils to call scons rather than distutils.build_ext. Thus, we distribute packages with the distutils frontend (sdist, bdist_*). All python modules are installed in a common namespace (a meta-package). All libraries and data (shared libraries, headers, tests,...) are installed in a common directory on the system which is external to the python installation (e.g. /usr/local). We would like to use setuptools functionalities to manage dependencies between packages. Is it possible to extend setuptools as we extend distutils to deals correctly with external data ? Thanks. Samuel N.B.: Our own distutils extension (OpenAlea.DistX) provides the following subcommands: - build_scons : call scons with subprocess during the build process. - build_namespace : create meta packages (just a directory and a __init__.py). - install_external_data : copy some data in a custom place. We adapt sdist and bdist_* commands to manage this kind of data. It is like the 'data_file' field, but add recursive copy and the detection of base destination directory depending of the system configuration. - set_env_var : set windows environment variable to discover shared libs at runtime. OpenAlea.DistX is available on http://gforge.inria.fr/frs/?group_id=79release_id=782 ___ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig
Re: [Distutils] distutils extension and setuptools
At 01:29 PM 11/28/2006 +0100, Samuel Dufour wrote: Hi, We currently develop a software to integrate packages (C++/Python) in plant modeling. We use SCons to build C++ library and Boost.Python to create the wrappers. We have extended distutils to call scons rather than distutils.build_ext. Thus, we distribute packages with the distutils frontend (sdist, bdist_*). All python modules are installed in a common namespace (a meta-package). All libraries and data (shared libraries, headers, tests,...) are installed in a common directory on the system which is external to the python installation (e.g. /usr/local). We would like to use setuptools functionalities to manage dependencies between packages. Is it possible to extend setuptools as we extend distutils to deals correctly with external data ? Setuptools doesn't support installation outside of a single location for libraries and a single location for scripts, and extending it to do so isn't really possible if you want your project to be easy_install-able (i.e. support dependencies or be depended upon). At best, you could use --single-version-externally-managed to install a project with external data, but that option isn't compatible with easy_install. ___ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig