web-dev-qa-db-fra.com

Comment installer Python 3.6 sur Ubuntu 19.04?

J'ai récemment installé Ubuntu 19.04 qui a Python 3.7 par défaut. Je dois travailler sur plusieurs projets qui utilisent Python 3.6.

Y a-t-il un moyen de l'installer sur Disco Dingo?

J'ai essayé qui fonctionne sur 16.04

milano@milano-desktop:~$ Sudo add-apt-repository ppa:jonathonf/python-3.6
...
milano@milano-desktop:~$ Sudo apt-get install python3.6
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'python3.6-2to3' for regex 'python3.6'
Note, selecting 'libpython3.6-stdlib' for regex 'python3.6'
The following packages were automatically installed and are no longer required:
  fonts-liberation2 fonts-opensymbol gir1.2-geocodeglib-1.0
  gir1.2-gst-plugins-base-1.0 gir1.2-gstreamer-1.0 gir1.2-gudev-1.0
  gir1.2-udisks-2.0 grilo-plugins-0.3-base gstreamer1.0-gtk3 guile-2.2-libs
  libboost-date-time1.67.0 libboost-filesystem1.67.0 libboost-iostreams1.67.0
  libboost-locale1.67.0 libcdr-0.1-1 libclucene-contribs1v5 libclucene-core1v5
  libcmis-0.5-5v5 libcolamd2 libcurl4 libdazzle-1.0-0 libe-book-0.1-1 libeot0
  libepubgen-0.1-1 libetonyek-0.1-1 libevent-2.1-6 libfreerdp-client2-2
  libfreerdp2-2 libgc1c2 libgee-0.8-2 libgom-1.0-0 libgpgmepp6 libgpod-common
  libgpod4 liblangtag-common liblangtag1 liblirc-client0 liblua5.3-0
  libmediaart-2.0-0 libminiupnpc17 libmspub-0.1-1 libodfgen-0.1-1
  liborcus-0.14-0 libqqwing2v5 libraw19 librevenge-0.0-0 libsgutils2-2
  libsuitesparseconfig5 libvncclient1 libwinpr2-2 libxmlsec1 libxmlsec1-nss
  lp-solve media-player-info python3-mako python3-markupsafe syslinux
  syslinux-common syslinux-legacy usb-creator-common
Use 'Sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
milano@milano-desktop:~$ python3.6

Command 'python3.6' not found, did you mean:

  command 'python3.8' from deb python3.8-minimal (3.8.0~a3-2)
  command 'python3.7' from deb python3.7-minimal (3.7.3-2)

Try: Sudo apt install <deb name>

Python3 + onglet

milano@milano-desktop:~$ python3
python3     python3.7   python3.7m  python3m 

Deadsnakes

milano@milano-desktop:~$ Sudo add-apt-repository ppa:deadsnakes/ppa
 This PPA contains more recent Python versions packaged for Ubuntu.

Disclaimer: there's no guarantee of timely updates in case of security problems or other issues. If you want to use them in a security-or-otherwise-critical environment (say, on a production server), you do so at your own risk.

Update Note
===========
Please use this repository instead of ppa:fkrull/deadsnakes.

Reporting Issues
================
Issues can be reported in the master issue tracker at:
https://github.com/deadsnakes/issues/issues

Supported Ubuntu and Python Versions
====================================
Python 3.6 - Ubuntu 14.04, Ubuntu 16.04

For Ubuntu up to 18.04, there's also packages for old Python versions from 2.3 to 3.4.

The packages may also work on other versions of Ubuntu or Debian, but that is not tested or supported.

Third-Party Python Modules
==========================
Python modules in the official Ubuntu repositories are packaged to work with the Python interpreters from the official repositories. Accordingly, they generally won't work with the Python interpreters from this PPA. As an exception, pure-Python modules for Python 3 will work, but any compiled extension modules won't.

To install 3rd-party Python modules, you should use the common Python packaging tools.  For an introduction into the Python packaging ecosystem and its tools, refer to the Python Packaging User Guide:
https://packaging.python.org/installing/

Sources
=======
The package sources are available at:
https://github.com/deadsnakes/
 More info: https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa
Press [ENTER] to continue or Ctrl-c to cancel adding it.

Hit:1 http://cz.archive.ubuntu.com/ubuntu disco InRelease
Ign:2 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu disco InRelease           
Get:3 http://cz.archive.ubuntu.com/ubuntu disco-updates InRelease [88,4 kB]    
Hit:4 http://security.ubuntu.com/ubuntu disco-security InRelease               
Hit:5 http://cz.archive.ubuntu.com/ubuntu disco-backports InRelease            
Ign:6 http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu disco InRelease
Err:7 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu disco Release
  404  Not Found [IP: 91.189.95.83 80]
Err:8 http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu disco Release
  404  Not Found [IP: 91.189.95.83 80]
Reading package lists... Done                      
E: The repository 'http://ppa.launchpad.net/deadsnakes/ppa/ubuntu disco Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: The repository 'http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu disco Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
12
Milano

Ne plaisante pas dans votre système.

Ubuntu 19.04 comme Python 3.7 AS donné la standard, de sorte que si vous souhaitez travailler avec Python 3.6. * Vous devez installer un environnement et créer un environnement avec le fichier. Python Version:

conda create --name py36 -c conda-forge python=3.6.* pip  

Bien sûr, vous pouvez également créer un autre environnement virtuel et utiliser PIP.

Ou vous pourriez aller à Docker.


Sur Linux/MacOS, vous pouvez utiliser NIX comme

nix-env -iA nixpkgs.python37

entrer dans un environnement qui a par exemple Dans ce cas, Python3.7 (vous pouvez certainement changer la version)

ou comme un très bon Python (avancé), vous pouvez utiliser Mach-Nix (avec Nix) comme

mach-nix env ./env -r requirements.txt 

(qui soutient même Conda [mais actuellement en version bêta])

ou via API comme

nix-Shell -p nixFlakes --run "nix run github:davhau/mach-nix#with.ipython.pandas.seaborn.bokeh.scikit-learn "

Si vous souhaitez vraiment modifier la version sur le système d'exploitation, je vous recommanderais d'utiliser Nixos.

3
InLaw

Il n'est pas nécessaire de compiler à partir de la source, de télécharger et d'installer des packages deb-packages python 3.6 avec des dépendances manuellement:

wget http://archive.ubuntu.com/ubuntu/pool/main/p/python3.6/libpython3.6-minimal_3.6.7-1~18.10_AMD64.deb
dpkg -i libpython3.6-minimal_3.6.7-1~18.10_AMD64.deb
wget http://archive.ubuntu.com/ubuntu/pool/main/p/python3.6/libpython3.6-stdlib_3.6.7-1~18.10_AMD64.deb
dpkg -i libpython3.6-stdlib_3.6.7-1~18.10_AMD64.deb
wget http://archive.ubuntu.com/ubuntu/pool/main/p/python3.6/python3.6-minimal_3.6.7-1~18.10_AMD64.deb
dpkg -i python3.6-minimal_3.6.7-1~18.10_AMD64.deb

wget http://archive.ubuntu.com/ubuntu/pool/main/p/python3.6/python3.6_3.6.7-1~18.10_AMD64.deb
dpkg -i python3.6_3.6.7-1~18.10_AMD64.deb

Ceci suffit à exécuter python 3.6. Cependant, certains modules peuvent ne pas fonctionner, tels que Pycurl, en résultat, je n'ai pas trouvé de solution. ModulenotfoundError se produit lors de la tentative d'importation, ImporterRor Une erreur se produit lors de la tentative d'installation de Pycurl: Impossible d'importer le nom 'sysconfig' car le package Python3-distutils est installé à partir de la version 3.7 et est incompatible. L'installation manuelle de 3,6 casse les dépendances de la version 3.7 et en tout cas, APT tentera de le réparer.

2
mark99