[Distutils] Installing subpackages under common superpackage
Otto Maddox
ottomaddox at fastmail.fm
Wed Apr 4 13:08:51 CEST 2012
Hi Rob,
Thank you for your answer. Could you please point me to the
specific functionality/documentation which I need to look at?
Andrew
On Tue, Apr 3, 2012, at 08:53 AM, Rob Healey wrote:
Dear Otto:
The only way that I could tell you about a project that kind
of does what you are looking for is already done somewhat in
Distutils2-1.0a4 tarball...
You may get the tarball from here, and look at its setup.py
and setup.cfg files...
[1]http://pypi.python.org/pypi/Distutils2
Sincerely yours,
Rob G. Healey
On Tue, Apr 3, 2012 at 8:35 AM, Otto Maddox
<[2]ottomaddox at fastmail.fm> wrote:
Hi,
I have a Python project which follows a client-server
architecture. It
is natural to develop it as two different projects and in two
different
source distributions, myproject-server.tar.gz and
myproject-client.tar.gz.
Neither package depends on the other, but because they are
part of a
larger, overarching project, I want install each of them so
that they
appear as subpackages (myproject.server and myproject.client)
under a
common superpackage (myproject). I am looking for the cleanest
and most
correct way to do this using distutils and setup.py, so that I
can end
up with a structure like this:
site-packages/myproject
site-packages/myproject/__init__.py
site-packages/myproject/server/__init__.py
site-packages/myproject/server/file1.py
site-packages/myproject/server/file2.py
site-packages/myproject/client/__init__.py
site-packages/myproject/client/file3.py
site-packages/myproject/client/file4.py
and so that any of the following commands (and their standard
variations) work:
import myproject
import myproject.server
import myproject.client
Is there a way to write distutils/setup.py to do this?
I have tried something like packages = ["myproject",
"myproject.client"]
in the client's setup.py and packages = ["myproject",
"myproject.server"] in the server's setup.py. This kind of
works, but it
feels wrong because the second package which gets installed
will
overwrite files from the first -- for example, there is no
clean way to
install myproject/__init__.py.
I can't imagine that I'm the first person to want to address
this use
case. What would be the best way of doing this?
Finally, does anybody have any examples of other projects
which do a
similar thing? Thanks.
--
[3]http://www.fastmail.fm - Email service worth paying for.
Try it for free
_______________________________________________
Distutils-SIG maillist - [4]Distutils-SIG at python.org
[5]http://mail.python.org/mailman/listinfo/distutils-sig
--
Sincerely yours,
Rob G. Healey
References
1. http://pypi.python.org/pypi/Distutils2
2. mailto:ottomaddox at fastmail.fm
3. http://www.fastmail.fm/
4. mailto:Distutils-SIG at python.org
5. http://mail.python.org/mailman/listinfo/distutils-sig
--
http://www.fastmail.fm - Does exactly what it says on the tin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20120404/9781e76c/attachment.html>
More information about the Distutils-SIG
mailing list