Document Python 3 installation steps
Categories
(Firefox Build System :: Bootstrap Configuration, enhancement, P3)
Tracking
(firefox80 fixed)
| Tracking | Status | |
|---|---|---|
| firefox80 | --- | fixed |
People
(Reporter: mhentges, Assigned: rstewart)
References
Details
(Keywords: in-triage)
Attachments
(1 file)
Write step-by-step quick start docs in-tree for installing python 3 for the following platforms:
- Mac
- Ubuntu/Debian
- Arch Linux
- (not including MozillaBuild because py3 is built-in)
Add a wiki space for other platforms. Add docs for the following platforms based on what is currently implemented in-tree:
- CentOS
- FreeBSD
- Gentoo
- OpenBSD
- OpenSUSE
- Solus Linux
- Void Linux
- Windows MinGW
| Reporter | ||
Updated•5 years ago
|
Comment 1•5 years ago
|
||
Don't forget the part where Debian-based distros need a separate package for the distutils module we use somewhere in mach.
| Reporter | ||
Comment 2•5 years ago
|
||
I wonder if bootstrap can still install that automatically, or if there'll be adverse effects. I'll investigate
| Assignee | ||
Updated•5 years ago
|
| Reporter | ||
Comment 3•5 years ago
|
||
Do you know which debian variant requires python3-distuils?
I've spun up a new virtual machine with Debian 10.4.0 (buster) and removed all python packages except for:
python3.7python3.7-minimal
Then, despite not having python3-distutils, the following works:
$ python3.7
Python 3.7.3 (default, Dec 20 2019, 18:57:59)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from distutils.version import LooseVersion
>>> LooseVersion('2.7.3')
LooseVersion ('2.7.3')
>>> [ctrl-D]
$ python3 .7./bootstrap.py
<snip, starts correctly and prompts for which version of Firefox I want to build (artifact mode, etc)>
I'm surprised that there's a separate python3-distutils package if import distutils still works. :glandium, is it just a specific debian version that's affected, or am I missing something?
| Assignee | ||
Comment 4•5 years ago
|
||
We've seen this on Ubuntu: see bug 1639624
| Reporter | ||
Comment 6•5 years ago
|
||
Ah, nice, import distutils.sysconfig fails unless python3-distutils is installed.
It's weird how part of distutils (e.g.: distutils.version.LooseVersion) is outside of python3-distutils, but others aren't. 🤷
| Assignee | ||
Comment 7•5 years ago
|
||
bootstrap won't be able to install them for you forever (and it isn't really properly capable of installing it for you at this very moment), and installing Python 3 as well as Python 2 is increasingly non-trivial on arbitrary OS'es, so we need to document things properly here.
Specific guidance on how to use brew to install Python 2 on macOS is included here. I also go into more depth on the situation on Linux and explicitly point people to the existence of pyenv with basic usage information, which should fill in the gaps left by the OS package managers.
Also, update some documentation to prefer the python3 binary to the python binary (which is often Python 2), and fix some broken links.
Updated•5 years ago
|
| Assignee | ||
Comment 8•5 years ago
|
||
My take, pending code review, is that the existence of pyenv mostly negates the need for dedicated bespoke installation instructions for various Python versions on different Linux distributions/other weird operating systems. IMO if that turns out to not be true then we can address specific problems when they arise.
Comment 10•5 years ago
|
||
| bugherder | ||
Description
•