J'essaie d'installer les derniers paquets PHP5 et j'ajoute donc le référentiel (Sudo add-apt-repository ppa: ondrej/php5) dont j'ai besoin et voici le résultat:
Traceback (most recent call last):
File "/usr/lib/python3.2/threading.py", line 740, in _bootstrap_inner
self.run()
File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 141, in run
self.add_ppa_signing_key(self.ppa_path)
File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 234, in add_ppa_signing_key
tmp_export_keyring, signing_key_fingerprint, tmp_keyring_dir):
File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 186, in _verify_fingerprint
got_fingerprints = self._get_fingerprints(keyring, keyring_dir)
File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 178, in _get_fingerprints
output = subprocess.check_output(cmd, universal_newlines=True)
File "/usr/lib/python3.2/subprocess.py", line 516, in check_output
output, unused_err = process.communicate()
File "/usr/lib/python3.2/subprocess.py", line 811, in communicate
stdout = _eintr_retry_call(self.stdout.read)
File "/usr/lib/python3.2/subprocess.py", line 456, in _eintr_retry_call
return func(*args)
File "/usr/lib/python3.2/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 92: ordinal not in range(128)
Fonctionnant sur le serveur Ubuntu 12.04
Le logiciel-propriétés-communes est un buggy, donc si le temps le permet, signalez-le comme un bogue dans le logiciel propriétés-communes.
Une meilleure solution de contournement a été signalée dans l'outil de suivi des problèmes qui utilise des paramètres régionaux unicode spécifiques lors de l'ajout du référentiel.
LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php5-5.6
Essayez d’installer un module linguistique qui pourrait corriger vos problèmes d’encodage, par exemple.
Sudo apt-get install language-pack-en
Cela fournira des mises à jour des données de traduction en anglais pour tous les packages pris en charge (y compris Python).
Voir: nicodeEncodeError: le codec 'ascii' ne peut pas coder le caractère .
Sinon, définissez les paramètres régionaux manuellement, par exemple.
$ locale -a | grep "^en_.\+UTF-8"
en_GB.UTF-8
en_US.UTF-8
$ export LC_ALL=en_GB.UTF-8
$ export LANG=en_GB.UTF-8
Si vous êtes dans docker, cela a fonctionné pour moi:
RUN LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php
Un après:
RUN apt-get update
RUN apt-get install -y php7.2
Pour moi, ajouter php5-compat avant que php ne résolve mon problème sur Ubuntu 16.
Sudo LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php5-compat
et alors
Sudo LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php