Around 570 people answered the survey, which is a great number I didn't
expect. Thanks again to Massimo for his help on this.
I have a lot of work to read all the open question answers, and all the
comments that goes with the "other" answer, but I wanted to publish the
results of the closed questions before the summit.
I don't want to comment the results yet. I will after I have studied
all answers, so it'll be a little while ;)
Who are you ?
Professional developer using Python exclusively.
Professional developer using Python unable to use Python "at work".
Professional developer using Python sometimes.
Hobbyist using Python.
Where are you located ?
If you are a web programmer, what is the framework you use the most ?
Zope (including Plone)
How do you organize your application code most of the time ?
I put everything in one package
I create several packages and use a tool like zc.buildout or Paver to distribute the whole application
I create several packages and use a main package or script to launch the application
I use my own mechanism for aggregating packages into a single install.
For libraries you don't distribute publicly, do you you create a
setup.py script ?
What is the main tool or combination of tools you are using to
package and distribute your Python application ?
zc.buildout and distutils
zc.buildout and setuptools
Paver and setuptools
Paver and Distutils
How do you install a package that does not provide a standalone
installer (but provides a standard setup.py script) most of the time ?
I use easy_install
I download it and manually run the python setup.py install command
I use pip
I move files around and create symlinks manually.
I use the packaging tool provided in my system (apt, yum, etc)
How do you remove a package ?
manually, by removing the directory and fixing the .pth files
I use one virtualenv per application, so the main python is never polluted, and only remove entire environments.
using the packaging tool (apt, yum, etc)
I don't know / I fail at uninstallation
I change PYTHONPATH to include a directory of the packages used by my application, then remove just that directory
How do you manage using more than one version of a library on a
I don't use multiple versions of a library
I use virtualenv
I use Setuptools' multi-version features
I build fresh Python interpreter from source for each project
I use zc.buildout
I set sys.path in my scripts
I set PYTHONPATH to select particular libraries
Do you work with setuptools' namespace packages ?
Has PyPI become mandatory in your everyday work (if you use
zc.buildout for example) ?
If you previously answered Yes, did you set up an alternative
solution (mirror, cache..) in case PyPI is down ?
Do you register your packages on PyPI ?
Do you upload your package on PyPI ?
If you previously answered No, how do you distribute your packages ?
One my own website, using simple links
One my own website, using a PyPI-like server
On a forge, like sourceforge