This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Document Linux packages you need to compile Python with all dependencies
Type: enhancement Stage:
Components: Documentation Versions: Python 3.4, Python 3.5
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: docs@python Nosy List: Ludovic.Gasc, asvetlov, docs@python, r.david.murray
Priority: normal Keywords: patch

Created on 2014-11-16 13:07 by Ludovic.Gasc, last changed 2022-04-11 14:58 by admin.

Files
File name Uploaded Description Edit
build_dep_python.patch Ludovic.Gasc, 2014-11-16 13:07 review
Messages (6)
msg231245 - (view) Author: Ludovic Gasc (Ludovic.Gasc) * Date: 2014-11-16 13:07
Hi,

To install easily Python 3.4.2 on Linux, I use Pythonz: http://saghul.github.io/pythonz/

I've discovered that, depends on the packages already installed on Linux, I don't have the same Python each time after compilation on servers.
Some features could missing, like pip, if you don't install some packages.

I've made a pull request in Pythonz with the list of packages you need to avoid that: https://github.com/saghul/pythonz#before-installing-pythons-via-pythonz

But, for me, this packages list should be in official Python documentation directly.

I've tested this packages list on Debian (Squeeze, Wheezy, Jessie, Sid), Ubuntu (12.04, 14.04) and CentOS 6.

Thanks for the merge.

Regards.
msg231253 - (view) Author: R. David Murray (r.david.murray) * (Python committer) Date: 2014-11-16 17:00
I don't think it is a good idea for us to try to track which packages are needed and what they are named by the various downstreams.  We could document the optional modules by project name, though.  Note also that the devguide does point to the "umbrella" downstream packages that pull in the dependencies needed to build python, where those exist.

It is likely that that section should cross link to the devguide.  The devguide didn't exist when it was written.
msg231257 - (view) Author: Ludovic Gasc (Ludovic.Gasc) * Date: 2014-11-16 20:01
I'm not agree with you: I've lost a lot of time to find all packages I need for that, I've merged information from several blog posts.
I imagine that I'm not alone with this problem.

If you move this information in devguide, most persons don't find this.

Moreover, the names of packages are pretty stable across Linux versions, I don't think we will have a lot of exceptions.
msg231258 - (view) Author: Andrew Svetlov (asvetlov) * (Python committer) Date: 2014-11-16 20:14
For Ubuntu/debian you can just run:
$ sudo apt-get build-dep python3
msg231259 - (view) Author: Ludovic Gasc (Ludovic.Gasc) * Date: 2014-11-16 20:46
> $ sudo apt-get build-dep python3

Good to know, I will test for my next deployment.
The only problem with that, if you use a old Debian with a Python3 that need less dependencies that actual version.
But you can add a line for that in documentation if we have the case one day.
msg231265 - (view) Author: R. David Murray (r.david.murray) * (Python committer) Date: 2014-11-17 03:31
The fact that it cost you a lot of time buttresses my point.  Any documentation we write is likely to get stale; it is only the downstream that knows when these things change and could maintain such a document.  And the easy answer is as Andrew indicated, which is maintained by downstream.  That said, if the various downstreams are using a unified set of names, then the equation would change.  The fact that you had separate sections for separate distributions argues that that is not (yet?) the case, though.

The build instructions in the devguide are more likely to be kept up to date, which is why I suggested we should cross link to them from the main build documentation.
History
Date User Action Args
2022-04-11 14:58:10adminsetgithub: 67071
2014-11-17 03:48:22r.david.murraysettitle: [patch] Linux packages you need to compile Python with all dependencies -> Document Linux packages you need to compile Python with all dependencies
2014-11-17 03:31:51r.david.murraysetversions: - Python 3.6
2014-11-17 03:31:43r.david.murraysetmessages: + msg231265
2014-11-16 20:46:30Ludovic.Gascsetmessages: + msg231259
2014-11-16 20:14:35asvetlovsetnosy: + asvetlov
messages: + msg231258
2014-11-16 20:01:31Ludovic.Gascsetmessages: + msg231257
2014-11-16 17:00:49r.david.murraysetnosy: + r.david.murray
messages: + msg231253
2014-11-16 13:07:50Ludovic.Gasccreate