add-apt-repository Python hatası veriyor: UnicodeDecodeError: 'ascii' codec bileşeni bayt 0xc5 kodunu çözemez


27

En son PHP5 paketlerini kurmaya çalışıyorum ve böylece repo ekledim (sudo add-apt-repository ppa: ondrej / php5) İhtiyacım var ve sonuç:

    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)

Ubuntu 12.04 Sunucusunda Çalıştırma


1
Varsayılan python kurulumunu karıştırdınız mı (örneğin, python3.2'yi / usr / bin / python'a bağlamak?) - apt, 12.04'te python2.7 sistem varsayılanını kullanıyor olmalıdır. Çıktınızın çıktısını ekleyebilir misiniz ls -l $(which python)?
steeldriver

lrwxrwxrwx 1 kök kökü 9 Nis 10 2013 / usr / bin / python -> python2.7 apt-add-repo (Python iiirc ile uğraşan) almak için paketleri kurdum
James Heald

Bu durumda neden görünüşte python3.2 - üzgünüm
steeldriver

Yanıtlar:


66

Genel yazılım özellikleri buggy, yani zamanınız varsa, lütfen bunu genel özellikler yazılımında bir hata olarak bildirin.

Depo eklerken belirli unicode yerel ayarını kullanan sorun izleyicide daha iyi bir geçici çözüm belirtildi

LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php5-5.6

6

Kodlama ile ilgili sorunlarınızı düzeltebilecek bir dil paketi kurmayı deneyin, örneğin

sudo apt-get install language-pack-en

Bu, tüm desteklenen paketler için İngilizce çeviri verisi güncellemeleri sağlayacaktır (Python dahil).

Bakınız: UnicodeEncodeError: 'ascii' kodeği karakteri kodlayamaz .

Aksi takdirde, yerel ayarları manuel olarak ayarlayın, örneğin

$ 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

İlgili: apt-get install ile yerel ayar hatası


2

Liman işçisi iseniz, bu benim için çalıştı:

RUN LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php

Bir sonra:

RUN apt-get update
RUN apt-get install -y php7.2

0

Benim için php5-php5-uyumu eklemek benim için ubuntu 16'daki sorunumu çözdü.

sudo LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php5-compat

ve sonra

sudo LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.