diff options
| author | milde <milde@929543f6-e4f2-0310-98a6-ba3bd3dd1d04> | 2019-08-28 09:50:37 +0000 |
|---|---|---|
| committer | milde <milde@929543f6-e4f2-0310-98a6-ba3bd3dd1d04> | 2019-08-28 09:50:37 +0000 |
| commit | 28e315785ba2b58d65cfef65d04b86e510553074 (patch) | |
| tree | 96666a115c6d7488c33353155cff17e2ca7e3d06 /docutils/docs/dev | |
| parent | e5ab0e0c60c7375a7a17555c66ba0ce178bb6b8c (diff) | |
| download | docutils-28e315785ba2b58d65cfef65d04b86e510553074.tar.gz | |
setup.cfg: Mark wheels as universal
We now have a source tree that's compatible with both Python 2 and
Python 3. Time to indicate this. Huzzah!
A now obsolete 'wheeling' document is removed. None of the caveats it
describes are valid now. The release document is updated.
Signed-off-by: Stephen Finucane <stephen@that.guru>
git-svn-id: http://svn.code.sf.net/p/docutils/code/trunk@8378 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
Diffstat (limited to 'docutils/docs/dev')
| -rw-r--r-- | docutils/docs/dev/release.txt | 6 | ||||
| -rw-r--r-- | docutils/docs/dev/wheeling.txt | 204 |
2 files changed, 2 insertions, 208 deletions
diff --git a/docutils/docs/dev/release.txt b/docutils/docs/dev/release.txt index 31fd3c876..58df155e4 100644 --- a/docutils/docs/dev/release.txt +++ b/docutils/docs/dev/release.txt @@ -201,11 +201,9 @@ REWORK FOR SOURCEFORGE REPO * **build wheels**:: - python3 setup.py sdist bdist_wheel - python2 setup.py bdist_wheel + python setup.py bdist_wheel - This builds wheels_ (`pure Python wheels`_ for Python 2 and 3 - respectively) by downloading the new release from pypi. + This builds wheels_ by downloading the new release from pypi. Upload the wheels to PyPI:: diff --git a/docutils/docs/dev/wheeling.txt b/docutils/docs/dev/wheeling.txt deleted file mode 100644 index e0bf7757d..000000000 --- a/docutils/docs/dev/wheeling.txt +++ /dev/null @@ -1,204 +0,0 @@ -=========================== - Docutils_ Building Wheels -=========================== - -:Authors: engelbert gruber; open to all Docutils developers -:Contact: docutils-develop@lists.sourceforge.net -:Date: $Date$ -:Revision: $Revision$ -:Copyright: This document has been placed in the public domain. - -.. _Docutils: http://docutils.sourceforge.net/ - -.. contents:: - -Abstract --------- - -This document documents trials to build python wheels from Docutils. Once it -is finished it might be driven into distribution or release documentation. - -Requests --------- - -There is `feature request 43`_ : Make setup.py build wheels. - - Just add this to setup.cfg: - - [bdist_wheel] - universal = 1 - - - .. warning:: Docutils is not fit for Universal Wheels. It supports both - Python 2 and 3, but with different code (we use “2to3”). This makes it - a candidate for `Pure Python wheels`_. - - As "universal" is false by default, no change to setup.cfg is required. - The wheel builder detects that the package is pure Python and generates - wheels for Py2 and Py3 depending under which python version it runs. - -and bugs275_ : Upload wheels to pypi - - Currently docutils does not publish any wheels on pypi. Wheels make docutils - faster to install (no need to run setup.py, which for a large number of - packages can take some time), and is no more difficult than uploading an - sdist (see https://packaging.python.org/en/latest/distributing.html#wheels - for instructions). - -Logbook -------- - -1. Add ``[bdist_wheel] universal = 0`` to setup.cfg. -2. Run ``python setup.py bdist_wheel``:: - - error: invalid command 'bdist_wheel' - -3. setuptools is too old. Install the new one by wheel or source or pip or - easy... - -4. try wheel ... first get wheel tar.gz and unpack. - -5. try :: - - python2.7 wheel-0.24.0/wheel install setuptools-15.0-py2.py3-none-any.whl - - no error. But still ``error: invalid command 'bdist_wheel'``:: - - $ python2.7 setup.py --version - 0.12 - - Did wheel install ? If no, why no error, if yes in which place ? - - -Logbook: with setuptools branch -------------------------------- - -`gitpull/setuptools`_ sandbox branch introduces `setuptools`_ in ``setup.py``. - -As of 2015-04-16: **Not working yet**, ``import docutils`` will raise an -``ImportError``. Need to get packages detected correctly. - -Install:: - - $ svn checkout svn://svn.code.sf.net/p/docutils/code/trunk/sandbox/gitpull/setuptools docutils-setuptools - $ cd setuptools - # create a virtualenv (however you like) - $ pip install -e . - -This includes support for generate ``python setup.py bdist_wheel``:: - - $ python setup.py bdist_wheel - running bdist_wheel - running build - running build_scripts - installing to build/bdist.linux-x86_64/wheel - running install - running install_egg_info - running egg_info - writing docutils.egg-info/PKG-INFO - writing top-level names to docutils.egg-info/top_level.txt - writing dependency_links to docutils.egg-info/dependency_links.txt - reading manifest file 'docutils.egg-info/SOURCES.txt' - reading manifest template 'MANIFEST.in' - warning: no files found matching 'MANIFEST' - warning: no files found matching '*' under directory 'extras' - warning: no previously-included files matching '.cvsignore' found under directory '*' - warning: no previously-included files matching '*~' found under directory '*' - warning: no previously-included files matching '.DS_Store' found under directory '*' - writing manifest file 'docutils.egg-info/SOURCES.txt' - Copying docutils.egg-info to build/bdist.linux-x86_64/wheel/docutils-0.13.data/purelib/docutils-0.13-py2.7.egg-info - running install_scripts - creating build/bdist.linux-x86_64/wheel/docutils-0.13.data/scripts - copying build/scripts-2.7/rst2pseudoxml.py -> build/bdist.linux-x86_64/wheel/docutils-0.13.data/scripts - copying build/scripts-2.7/rst2man.py -> build/bdist.linux-x86_64/wheel/docutils-0.13.data/scripts - copying build/scripts-2.7/rst2odt.py -> build/bdist.linux-x86_64/wheel/docutils-0.13.data/scripts - copying build/scripts-2.7/rst2latex.py -> build/bdist.linux-x86_64/wheel/docutils-0.13.data/scripts - copying build/scripts-2.7/rstpep2html.py -> build/bdist.linux-x86_64/wheel/docutils-0.13.data/scripts - copying build/scripts-2.7/rst2s5.py -> build/bdist.linux-x86_64/wheel/docutils-0.13.data/scripts - copying build/scripts-2.7/rst2odt_prepstyles.py -> build/bdist.linux-x86_64/wheel/docutils-0.13.data/scripts - copying build/scripts-2.7/rst2html.py -> build/bdist.linux-x86_64/wheel/docutils-0.13.data/scripts - copying build/scripts-2.7/rst2html5.py -> build/bdist.linux-x86_64/wheel/docutils-0.13.data/scripts - copying build/scripts-2.7/rst2xml.py -> build/bdist.linux-x86_64/wheel/docutils-0.13.data/scripts - copying build/scripts-2.7/rst2xetex.py -> build/bdist.linux-x86_64/wheel/docutils-0.13.data/scripts - changing mode of build/bdist.linux-x86_64/wheel/docutils-0.13.data/scripts/rst2pseudoxml.py to 755 - changing mode of build/bdist.linux-x86_64/wheel/docutils-0.13.data/scripts/rst2man.py to 755 - changing mode of build/bdist.linux-x86_64/wheel/docutils-0.13.data/scripts/rst2odt.py to 755 - changing mode of build/bdist.linux-x86_64/wheel/docutils-0.13.data/scripts/rst2latex.py to 755 - changing mode of build/bdist.linux-x86_64/wheel/docutils-0.13.data/scripts/rstpep2html.py to 755 - changing mode of build/bdist.linux-x86_64/wheel/docutils-0.13.data/scripts/rst2s5.py to 755 - changing mode of build/bdist.linux-x86_64/wheel/docutils-0.13.data/scripts/rst2odt_prepstyles.py to 755 - changing mode of build/bdist.linux-x86_64/wheel/docutils-0.13.data/scripts/rst2html.py to 755 - changing mode of build/bdist.linux-x86_64/wheel/docutils-0.13.data/scripts/rst2html5.py to 755 - changing mode of build/bdist.linux-x86_64/wheel/docutils-0.13.data/scripts/rst2xml.py to 755 - changing mode of build/bdist.linux-x86_64/wheel/docutils-0.13.data/scripts/rst2xetex.py to 755 - creating build/bdist.linux-x86_64/wheel/docutils-0.13.dist-info/WHEEL - -Installation:: - - # create a fresh virtualenv - $ pip install -U dist/docutils-0.13-cp27-none-linux_x86_64.whl - Processing ./dist/docutils-0.13-cp27-none-linux_x86_64.whl - Installing collected packages: docutils - Found existing installation: docutils 0.13 - Uninstalling docutils-0.13: - Successfully uninstalled docutils-0.13 - Successfully installed docutils-0.13 - - -Logbook with "pip" ------------------- - -Docutils' "setup.py" imports from the stdlib's "distutils" module -instead of the 3rd party "setuptools". "distutils" cannot build wheels. [#]_ - -OTOH, pip_ internally uses "setuptools" instead of "distutils". This way, it -can generate wheels without changes to "setup.py". - -1. Install "pip" and "wheels" - - Under Debian Gnu/Linux: ``aptitude install python-pip python3-pip`` - -2. In the repository root directory, run :: - - #> pip wheel ./docutils/ - Unpacking ./docutils - Running setup.py (path:/tmp/pip-Ym9hKL-build/setup.py) egg_info for package from file:///[...]docutils-svn/docutils - - warning: no previously-included files matching '.DS_Store' found under directory '*' - Building wheels for collected packages: docutils - Running setup.py bdist_wheel for docutils - Destination directory: /home/milde/Code/Python/docutils-svn/wheelhouse - Successfully built docutils - Cleaning up... - -3. There is a "pure Python" wheel under - ``wheelhouse/docutils-0.13-py2-none-any.whl`` - -4. Repeat with:: - - #> pip3 wheel ./docutils/ - - to get ``wheelhouse/docutils-0.13-py3-none-any.whl`` - -You can also generate wheels for Docutils 0.12 with ``pip wheel docutils`` -and ``pip3 wheel docutils``. The 0.12 archive is downloaded from PIP and -re-packed as wheel. With "pip3" this includes the 2to3 conversion. - -Summary: - With the "pip" utility, it is possible to generate wheels for Python 2 - and 3 for both, the released and the repository version of Docutils - without changes to the code base. - - The generated wheel can be installed. Installing the Py3k version happens - "instantaneously". - -.. [#] Docutils uses the batteries included with Python and avoids external - dependencies. - -.. _bugs275: https://sourceforge.net/p/docutils/bugs/275/ -.. _pure python wheels: - https://packaging.python.org/en/latest/distributing.html#pure-python-wheels -.. _feature request 43: https://sourceforge.net/p/docutils/feature-requests/43/ -.. _gitpull/setuptools: https://sourceforge.net/p/docutils/code/HEAD/tree/trunk/sandbox/gitpull/setuptools/ -.. _setuptools: https://pythonhosted.org/setuptools/ -.. _pip: http://pip.readthedocs.org/en/latest/ |
