web-dev-qa-db-fra.com

Python 3.6.6 à Ubuntu 16.04.1?

J'utilise Ubuntu 16.04.1. J'ai lancé ces commandes:

Sudo apt-get update
Sudo apt-get install python3.6

J'ai mis à niveau mon Python 3.6 de 3.6.2 à 3.6.5 Mais Python 3.6.6 est disponible depuis le 2018-06-27 Comment puis-je l'installer? Est-il logique qu'un paquet aussi important ne soit pas dans le référentiel?

Ceci est important pour moi car 3.6.6 a corrigé un bogue que je rencontre dans mon code.

En cours d'exécution apt-cache policy python3.6 Donne:

python3.6:
  Installed: 3.6.5-5~16.04.york1
  Candidate: 3.6.5-5~16.04.york1
  Version table:
 *** 3.6.5-5~16.04.york1 500
        500 http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu xenial/main AMD64 Packages
        100 /var/lib/dpkg/status

Je reçois aussi:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
    from apport.report import Report
  File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
    import apport.fileutils
  File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
    from apport.packaging_impl import impl as packaging
  File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 23, in <module>
    import apt
  File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
    import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'

Lors de l'exécution d'un script en utilisant python3.6

Note: J'ai python qui associe à python2.7, python3 qui associe à python3.5 et maintenant j'ajoute python3.6 - Je ne veux pas écraser autres python installations.

2
Programmer120

Le jonathonf PPA que vous utilisez n'a pas encore inclus Python 3.6.6. Cependant, il existe le deadsnakes PPA , qui est le standard de facto pour l'installation de versions non par défaut de Python sur Ubuntu.

Exécutez les commandes suivantes pour commencer à utiliser le PPA deadsnakes:

Sudo add-apt-repository ppa:deadsnakes/ppa
Sudo apt-get update

Vous devriez pouvoir installer Python 3.6.6 sur votre Ubuntu 16.04 après cela.

En option retirer le PPA "jonathonf" de votre machine, mais cela ne devrait pas être nécessaire.

Note: J'ai python qui associe à python2.7, python3 qui associe à python3.5 et maintenant j'ajoute python3.6 - Je ne veux pas écraser autres python installations.

Les liens python et python3 sont les valeurs par défaut du système. Une nouvelle version ajoutée à l'aide d'un PPA ne devrait pas modifier ces liens, ils se comporteront donc comme prévu par le système. La version Python installée à partir de PPA devrait être disponible sous le nom python3.6.

Mais selon ce que je vois, ils vont tous les deux chez /usr/lib/python3/dist-packages/.

Ces fichiers sont installés par le deadsnakes PPA:

$ dpkg -L python3.6
/.
/usr
/usr/lib
/usr/lib/python3.6
/usr/lib/python3.6/lib-dynload
/usr/lib/python3
/usr/lib/python3/dist-packages
/usr/lib/python3/dist-packages/README.txt
/usr/bin
/usr/bin/2to3-3.6
/usr/bin/pydoc3.6
/usr/bin/pygettext3.6
/usr/share
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/python3.6
/usr/share/doc
/usr/share/doc/python3.6
/usr/share/doc/python3.6/NEWS.gz
/usr/share/doc/python3.6/README.rst.gz
/usr/share/doc/python3.6/ACKS.gz
/usr/share/doc/python3.6/README.Debian
/usr/share/doc/python3.6/copyright
/usr/share/doc/python3.6/changelog.Debian.gz
/usr/share/applications
/usr/share/applications/python3.6.desktop
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/2to3-3.6.1.gz
/usr/share/man/man1/pydoc3.6.1.gz
/usr/share/man/man1/pysetup3.6.1.gz
/usr/share/man/man1/pdb3.6.1.gz
/usr/share/man/man1/pygettext3.6.1.gz
/usr/share/pixmaps
/usr/share/pixmaps/python3.6.xpm
/usr/bin/pdb3.6
/usr/share/doc/python3.6/changelog.gz

Le fichier /usr/lib/python3/dist-packages est le seul élément accessible dans le répertoire README.txt. Il n’écrasera pas le contenu actuel.

3
Melebius