On 4 September 2013 19:16, Éric Araujo <[email protected]> wrote: > Le 30/08/2013 03:23, Paul Moore a écrit : >> On 30 August 2013 00:08, Nick Coghlan <[email protected]> wrote: >>> We also need to officially bless pip's trick of forcing the use of >>> setuptools for distutils based setup.py files. >> Do we? What does official blessing imply? We've managed for years without >> the trick being "official"... >> >> The main reason it is currently used is to allow setup.py install to >> specify --record, so that we can get the list of installed files. If >> distutils added a --record flag, for example, I don't believe we'd need the >> hack at all. (Obviously, we'd still need setuptools so we could use wheel >> to build wheels, but that's somewhat different as it's a new feature). >> Maybe a small distutils patch is better than blessing setuptools here? > > distutils’ install command provides --record.
Indeed it does. I've created a minimal pip-compatible setup.py here: https://github.com/oscarbenjamin/setuppytest https://github.com/oscarbenjamin/setuppytest/blob/master/setuppytest/setup.py The parts that pip requires that are not included in distutils are: 1) The egg_info command. 2) Creating the .egg-info directory during the install command. 3) --single-version-externally-managed I didn't test what happens if the sdist is installed to satisfy a dependency (I'm not sure how to do that without uploading to PyPI) but it presumably would do something different from --single-version-externally-managed in that case. The precise invocations that the setup.py needs to support are: python setup.py egg_info --egg-base $EGG_DIRECTORY $ python setup.py install --record $RECORD_FILE \ --single-version-externally-managed \ [--install-headers $HEADERS_DIR] The --install-headers option is provided when installing into a virtualenv. Oscar _______________________________________________ Distutils-SIG maillist - [email protected] https://mail.python.org/mailman/listinfo/distutils-sig
