I am starting a new project which will be heavily extensible using plugins defined in other people's packages over which I have little or no control. I was planning to use setuptools entry points to manage the plugin discovery, since it has worked so well for virtualenvwrapper. However, in the process of searching for current documentation to reference in the project documentation, I got lost and confused about what is currently supported and what is deprecated.
Can someone tell me the currently approved way to work with a modern version of entry points? Should I continue to use distribute/setuptools as before? Should I move to distutils2 and some new metadata in the setup.cfg file? Should I be using Tarek's "extensions" package? If so, how do I tell distutils2 to run the registration code during installation?
Might it be an idea to have an option like 'tag_git_description' similar to
tag_svn_revision? A possible implementation could use git describe; such as
suggested by Douglas Creager in this gist: https://gist.github.com/300803.
I am currently using this for my packages, but it might be nice to
integrate it into setuptools.
Jasper van den Bosch
Could anyone tell me why distutils and distutils2 do NOT have
available 'version_info'? I have to use '__version__' to get their
version information ...
I know that Distutils2 is certainly not close to being production
ready, but I am just curious?
Rob G. Healey
This is my introductory email in writing for the first time!
Of course, I am very new to DistUtils and creating my first setup.py file.
I have a helper in creating this first setup.py file, but he only knows
more than I do...
We are stuck on this problem, and I was hoping to see if we could get some
help??? Here is what is happening:
[Frog@PouncingAliens geps0065]$ python setup.py sdist
Merging translations into data/gramps.desktop.
Merging translations into data/gramps.xml.
Merging translations into data/gramps.keys.
Traceback (most recent call last):
File "setup.py", line 487, in <module>
File "setup.py", line 483, in main
File "/usr/lib64/python2.7/distutils/core.py", line 152, in setup
File "/usr/lib64/python2.7/distutils/dist.py", line 953, in run_commands
File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command
File "/usr/lib64/python2.7/distutils/command/sdist.py", line 160, in run
File "/usr/lib64/python2.7/distutils/command/sdist.py", line 200, in
File "/usr/lib64/python2.7/distutils/command/sdist.py", line 256, in
build_py = self.get_finalized_command('build_py')
File "/usr/lib64/python2.7/distutils/cmd.py", line 312, in
File "/usr/lib64/python2.7/distutils/cmd.py", line 109, in
File "/usr/lib64/python2.7/distutils/command/build_py.py", line 46, in
File "/usr/lib64/python2.7/distutils/cmd.py", line 302, in
File "/usr/lib64/python2.7/distutils/cmd.py", line 105, in __getattr__
raise AttributeError, attr
Could you please explain what this build_lib problem comes from and what I
might need to get over it?
Rob G. Healey
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
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:
and so that any of the following commands (and their standard
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
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.
http://www.fastmail.fm - Email service worth paying for. Try it for free
- I am using Python 2.7, so how do I install pysetup. though when I
install distutils1.0a3 I do see distutils module in my interactive session
but I dont see any pysetup being installed
- Also, I had previously come in contact with merwok and I would be
applying in GSoC this year under PSF for distutils2 project (as I believe
PSF will be under GSoC and distutils will surely be accepted), so I am
writing to seek help on what all things should be my target, and how do I
- Currently, I am trying to work on the ]issue 12944 but due to certain
constraints things are not geared up, though I hope they would soon be :)
- Please guide me and drop-in all your suggestions
sent via HTC Sensation
With the help of others and myself, we are moving Gramps from an
autotools system to Distutils packaging...
I know that Autotools/ makefiles can handle these types of files, but
I need to know if it is possible to even a way to handle?
d) man files
with Distutils/ Distutils2?
I need to be able to merge different language translations into these files...
Rob G. Healey
In writing the setup.cfg file, how should the attribute for
'requires-Python' should look???
>From what I can understand, it should look like:
requires-Python : '>= 2.6'
could you please show me the correct way to have this written???
Rob G. Healey
I keep forgetting in discussions that pip doesn't support eggs. Their
main usecase is installing binary python eggs on windows, I'd say. I use
linux and OSX myself, so my windows experience is limited.
Question: is pip's compile-from-source character a problem on windows?
Does everyone use a clicky-click .exe installer for binary packages
instead of pip? Is easy_install still more popular?
Note, I'm not talking about installing pure python packages, but more
stuff like mapnik, pil, matplotlib and psycopg2: packages that have C
I'm asking because I'm writing a Django book and I don't want to get
clobbered for advising pip when it won't install a mysql or postgres
binding without major work. So I'd love some feedback from windows users!
(I'm mostly using buildout myself, but I'm only describing that near the
end of my book).
Reinout van Rees http://reinout.vanrees.org/
"If you're not sure what to do, make something. -- Paul Graham"