Add-apt-repository फेंकता है Python error: यूनिकोडडाउज़ररूट: 'ascii' कोडेक बाइट को डिकोड नहीं कर सकता 0xc5


27

नवीनतम PHP5 पैकेजों को स्थापित करने की कोशिश कर रहा हूं और इसलिए मैं रेपो (sudo add-apt-repository ppa: ondrej / php5) मुझे चाहिए और यह परिणाम है:

    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 सर्वर पर चल रहा है


1
क्या आपने डिफ़ॉल्ट पायथन इंस्टॉलेशन के साथ गड़बड़ी की है (उदाहरण के लिए, python3.2 / symringing to usr / bin / python?) - apt को सिस्टम डिफ़ॉल्ट python2.7 का उपयोग 12.04 पर किया जाना चाहिए। क्या आप ls -l $(which python)अपने पोस्ट का आउटपुट जोड़ सकते हैं ?
स्टीलड्राइवर

lrwxrwxrwx 1 रूट रूट 9 अप्रैल 10 2013 / usr / bin / python -> python2.7 मैंने apt-add-repo (जो पायथन iiirc में गड़बड़ करता है) पाने के लिए पैकेजों को स्थापित किया
जेम्स

उस स्थिति में मुझे समझ में नहीं आता है कि यह जाहिरा तौर पर python3.2 का उपयोग क्यों कर रहा है - क्षमा करें
स्टीलड्राइवर

जवाबों:


67

सॉफ़्टवेयर-गुण-सामान्य छोटी गाड़ी है, इसलिए यदि आपके पास समय है, तो कृपया सॉफ़्टवेयर-गुण-सामान्य में बग के रूप में रिपोर्ट करें।

समस्या ट्रैकर में एक बेहतर समाधान को इंगित किया गया था जो रिपॉजिटरी को जोड़ते समय विशिष्ट यूनिकोड लोकेल का उपयोग करता है

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

6

एक भाषा पैक स्थापित करने का प्रयास करें जो एन्कोडिंग के साथ आपके मुद्दों को सही कर सकता है, जैसे

sudo apt-get install language-pack-en

यह सभी समर्थित पैकेजों (पायथन सहित) के लिए अंग्रेजी अनुवाद डेटा अपडेट प्रदान करेगा।

देखें: UnicodeEncodeError: 'ascii' कोडेक वर्ण को एनकोड नहीं कर सकता है

अन्यथा स्थानीय सेटिंग मैन्युअल रूप से सेट करें, उदा

$ 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

संबंधित: उपयुक्त-स्थापित के साथ स्थानीय त्रुटि


2

यदि आप कर्ता में हैं, तो यह मेरे लिए काम कर रहा है:

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

एक के बाद:

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

0

मेरे लिए php5- कंपोजर जोड़ने से पहले php ने ubuntu 16 पर मेरी समस्या हल कर दी।

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

और फिर

sudo LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.