2016-02-03 11 views
14

मैं स्थापित किया है अजगर 2 (64 बिट), खिड़कियों पर 8.1 (64 बिट) और पिप संस्करण में जानना चाहता था और उस के लिए मैं pip --version निकाल दिया, लेकिन यह त्रुटि दे रहा है।अजगर 2.7: LookupError: अज्ञात एन्कोडिंग: cp65001

C:\Users\ADMIN>pip --version 
Traceback (most recent call last): 
    File "c:\dev\python27\lib\runpy.py", line 162, in _run_module_as_main 
    "__main__", fname, loader, pkg_name) 
    File "c:\dev\python27\lib\runpy.py", line 72, in _run_code 
    exec code in run_globals 
    File "C:\dev\Python27\Scripts\pip.exe\__main__.py", line 5, in <module> 
    File "c:\dev\python27\lib\site-packages\pip\__init__.py", line 15, in <module> 
    from pip.vcs import git, mercurial, subversion, bazaar # noqa 
    File "c:\dev\python27\lib\site-packages\pip\vcs\mercurial.py", line 10, in <module> 
    from pip.download import path_to_url 
    File "c:\dev\python27\lib\site-packages\pip\download.py", line 35, in <module> 
    from pip.utils.ui import DownloadProgressBar, DownloadProgressSpinner 
    File "c:\dev\python27\lib\site-packages\pip\utils\ui.py", line 51, in <module> 
    _BaseBar = _select_progress_class(IncrementalBar, Bar) 
    File "c:\dev\python27\lib\site-packages\pip\utils\ui.py", line 44, in _select_progress_class 
    six.text_type().join(characters).encode(encoding) 
LookupError: unknown encoding: cp65001 

नोट: एक ही आदेश ठीक काम करता है अजगर 3. के लिए मैं दोनों कोई सफलता अनइंस्टॉल कर दिया है और फिर से स्थापित है लेकिन अभी भी।

+1

'cp65001' विंडोज यूटीएफ -8 के लिए डबल-बोलता है। आप शायद अपने टर्मिनल को अस्थायी रूप से एक एन्कोडिंग का उपयोग करने के लिए पुन: कॉन्फ़िगर कर सकते हैं जो आपके पायथन संस्करण (अच्छी पुरानी ['cp1252'] (https://en.wikipedia.org/wiki/Windows-1252) शायद ज्ञात है?) और देखें कि क्या मदद करता है. – tripleee

उत्तर

34

त्रुटि का अर्थ है कि यूनिकोड वर्ण जो आपकी स्क्रिप्ट प्रिंट करने का प्रयास कर रहे हैं वर्तमान कंसोल वर्ण एन्कोडिंग का उपयोग करके प्रदर्शित नहीं किया जा सकता है।

इसके अलावा के बाद टर्मिनल को फिर से लोड करता है, तो सब कुछ अच्छी तरह से मूल्य UTF-8 साथ env चर के रूप में PYTHONIOENCODING जोड़ने के लिए जा रहा बिना पिप --version निष्पादित set PYTHONIOENCODING=UTF-8 को चलाने के लिए प्रयास करें। विंडोज चर जोड़ने के बारे में जानकारी प्राप्त करने के लिए How to set the path and environment variables in Windows आलेख देखें।

इसके अलावा, आप पिप के साथ win-unicode-console स्थापित करने का प्रयास कर सकते हैं:

pip install win-unicode-console 

फिर अपने टर्मिनल को फिर से लोड और निष्पादित करने के लिए pip --version

हालांकि आप Windows cmd encoding change causes Python crash जवाब से सुझावों का पालन कर सकते हैं क्योंकि आप एक ही समस्या है की कोशिश करो।

+0

यह भी एक ही त्रुटि के साथ विफल रहता है। मैं बिल्कुल पीआईपी का उपयोग करने में सक्षम नहीं हूं :( –

+3

निष्पादित करने के बाद 'पीईटीओएनओएनओएनडीओडी = यूटीएफ -8' सेट करने की कोशिश करें 'पाइप - वर्जन' टर्मिनल –

+0

धन्यवाद :) यह काम करता है ... तो मुझे इसे प्रत्येक सेट करने की आवश्यकता है पहर? क्या आप कृपया बता सकते हैं कि क्या हो रहा था और इसे कैसे रोकें? कृपया इसे एक उत्तर के रूप में लिखें ताकि मैं इसे उत्तर के रूप में स्वीकार कर सकूं। –

0

सबसे पहले आपको अपनी पीआईपी को अपग्रेड करना होगा। आप द्वारा Windows में ऐसा कर सकते हैं:

python -m pip install -U pip 

फिर, मैन्युअल जाना अपनी स्क्रिप्ट फ़ोल्डर में है कि फ़ोल्डर से आदेश पंक्ति दर्ज करें (आप shift + सही माउस बटन पर क्लिक करके ऐसा कर सकते हैं -> ओपन कंसोल विंडो) , और फिर आपको इन आदेशों में से एक का उपयोग करना चाहिए।

pip -V 
pip --version 

यह

pip 7.1.2 from c:\python27\lib\site-packages (python 2.7) 

का परिणाम देगा आपको अभी भी समस्या है, तो आप अजगर 2.7 के लिए अपने वर्तमान पायथन पथ एक नया हटाने, और जोड़ने की कोशिश कर सकते हैं।

+0

मैं पीआईपी के संस्करण को प्रिंट करने में असमर्थ हूं, इसलिए अन्य आदेश भी एक ही त्रुटि दे रहे हैं। –

+1

अस्थायी पायथन 3 को अनइंस्टॉल करने का प्रयास करें, अपने पायथन 2.7 को पुनर्स्थापित करें और शायद विंडोज पावर खोल का प्रयास करें? मैं केवल अपने सीएमडी का उपयोग कर बिना किसी समस्या के अपने विंडोज 10 पर यह आदेश कर सकता हूं। क्या आप अजगर दुभाषिया दर्ज कर सकते हैं? –

+0

विंडोज पावर खोल? मुझे कोई विचार नहीं है। हां, मैंने पहले ही पाइथन 3 अनइंस्टॉल कर दिया है, और हाँ मैं अजगर दुभाषिया में प्रवेश कर सकता हूं। –

संबंधित मुद्दे