Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reorganize the setup.rst page. #412

Merged
merged 2 commits into from
Sep 12, 2018
Merged

Reorganize the setup.rst page. #412

merged 2 commits into from
Sep 12, 2018

Conversation

ezio-melotti
Copy link
Member

This PR reorganizes the setup.rst page:

  1. There is now a section about compiling Python, followed by a separate section about installing dependencies
  2. The commands to compile Python are now just after the section about getting the code
  3. The header levels have been fixed
  4. Some paragraphs have been rephrased

Copy link
Member Author

@ezio-melotti ezio-melotti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few comments explaining what I did + a few questions.


The core CPython interpreter only needs a C compiler to be built; if
you get compile errors with a C89 or C99-compliant compiler, please `open a
bug report <https://bugs.python.org>`_.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This part has been moved below.


Build dependencies
------------------
UNIX
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should include both Linux and macOS.

UNIX
----
If you want to install these optional dependencies, consult the
:ref:`build-dependencies` section below.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the terminology correct here (and elsewhere)?
AFAIU the dependencies, are required to build extension modules (or simply extensions). The dependencies can be installed (by using yum/apt/etc) and built (indirectly, by make).
The section below covers installing for Linux, and both installing and building (since different flags are required by configure) for macOS.

_tkinter _uuid readline
zlib
To find the necessary bits, look in setup.py in detect_modules()
for the module's name.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added this block to show clearly where the missing extensions are listed, and pointed out that this is expected and should not be considered an error (I've seen people being confused by this message before).



Clang
'''''
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is now nested under the UNIX section.

.. _build-dependencies:

Install dependencies
====================
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is now a new top-level section, that covers installing dependencies.
Since it also explains how to buiild them for macOS, perhaps the title should be changed to Install and build dependencies

``configure`` and ``make`` (if available for your OS).
Otherwise the build failed and thus should be fixed (at least with a bug being
filed on the `issue tracker`_).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed this part because it was duplicated from above. People that reach this point should have already read and know what make does.

----

The basic steps for building Python for development is to configure it and
then compile it.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This part has been moved to the top.


.. _deps-on-linux:

Linux
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This used to be UNIX, but it seems to me that it's Linux-specific, since macOS is covered later.
Am I missing something?

Copy link
Collaborator

@willingc willingc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @ezio-melotti. This looks great. One small typo. Feel free to merge.

setup.rst Outdated Show resolved Hide resolved
@ezio-melotti ezio-melotti merged commit cb66ba1 into python:master Sep 12, 2018
@ezio-melotti ezio-melotti deleted the setup-reorganization branch September 12, 2018 00:38
AA-Turner pushed a commit to AA-Turner/devguide that referenced this pull request Jun 17, 2022
* Reorganize the setup.rst page.

* Fix typo.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants