Ignore changes in the amount of whitespace
Differences between version dated 2008-08-09 17:47:55 and 2009-10-20 10:09:23
(spanning 10 versions)
Deletions are marked like this.
Additions are marked like this.
`Adding new EGG-INFO Files`_.
Under normal circumstances, the ``distutils`` assume that you are going to
build a distribution of your project, not use it in its "raw" or "unbuilt"
Note that you can also apply setuptools commands to non-setuptools projects,
using commands like this::
python -c "import setuptools; setuptools.setup()" develop
python -c "import setuptools; execfile('setup.py')" develop
That is, you can simply list the normal setup commands and options following
the quoted part. To further simplify access, you can define a *setup* script::
the quoted part.
python -c "import setuptools; setuptools.setup()" $*
With this script, you can execute distutil setup commands for any project. For example,
the above *develop* command becomes::
Distributing a ``setuptools``-based project
inform the user of the missing program(s).
A Note Regarding Dependencies
If the project *containing* your distutils/setuptools extension(s) depends on
any projects other than setuptools, you *must* also declare those dependencies
as part of your project's ``setup_requires`` keyword, so that they will
already be built (and at least temprorarily installed) before your extension
project is built.
So, if for example you create a project Foo that includes a new file finder
plugin, and Foo depends on Bar, then you *must* list Bar in both the
``install_requires`` **and** ``setup_requires`` arguments to ``setup()``.
If you don't do this, then in certain edge cases you may cause setuptools to
try to go into infinite recursion, trying to build your dependencies to resolve
your dependencies, while still building your dependencies. (It probably won't
happen on your development machine, but it *will* happen in a full build
pulling everything from revision control on a clean machine, and then you or
your users will be scratching their heads trying to figure it out!)
Release Notes/Change History
* Fix "bdist_wininst upload" trying to upload same file twice
* Fix for the Python 2.6.3 build_ext API change
* Ensure C libraries (as opposed to extensions) are also built when doing
* Support for SVN 1.6
* Fixed a missing files problem when using Windows source distributions on
non-Windows platforms, due to distutils not handling manifest file line
* Updated Pyrex support to work with Pyrex 0.9.6 and higher.
* Minor changes for Jython compatibility
* Minor changes for Jython compatibility, including skipping tests that can't
work on Jython.
* Fixed not installing eggs in ``install_requires`` if they were also used for
``setup_requires`` or ``tests_require``.
* Added a warning if a namespace package is declared, but its parent package
is not also declared as a namespace.
* Support Subversion 1.5
* Removed use of deprecated ``md5`` module if ``hashlib`` is available
* Fixed ``bdist_wininst upload`` trying to upload the ``.exe`` twice
* Fixed ``bdist_egg`` putting a ``native_libs.txt`` in the source package's
``.egg-info``, when it should only be in the built egg's ``EGG-INFO``.
* Ensure that _full_name is set on all shared libs before extensions are
checked for shared lib usage. (Fixes a bug in the experimental shared
library build support.)
* Fix to allow unpacked eggs containing native libraries to fail more
gracefully under Google App Engine (with an ``ImportError`` loading the
C-based module, instead of getting a ``NameError``).
* Fixed ``distutils.filelist.findall()`` crashing on broken symlinks, and
``egg_info`` command failing on new, uncommitted SVN directories.
* Initial release.
Mailing List and Bug Tracker
Please use the `distutils-sig mailing list`_ for questions and discussion about
setuptools, and the `setuptools bug tracker`_ ONLY for issues you have
confirmed via the list are actual bugs, and which you have reduced to a minimal
set of steps to reproduce.
.. _distutils-sig mailing list: http://mail.python.org/pipermail/distutils-sig/
.. _setuptools bug tracker: http://bugs.python.org/setuptools/