2016-04-20 6 views
0

Ich habe instaliert virtualenv auf Fenstern 10 und Python 2.7.1 aber wenn ich ausgeführt: 'ASCII' Codec nicht byte 0xE9 in Position 20 dekodierenUnicodeDecodeError: ordinal nicht im Bereich (128)

virtualenv my-virtual

ich habe diesen Fehler: UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 20: ordinal not in range(128)

denke ich Python 2.7 nicht mein Fenster Weg, weil Akzentzeichen verstehen ...

enter image description here

Wie kann ich diesen Fehler beheben?

+0

Haben Sie versucht, '# encoding: utf-8' am Anfang Ihres Skripts? – Krishh

+0

Ich habe in virtualenv Datei 'reload (sys) sys.setdefaultencoding (' Cp1252 ') 'und arbeiten für mich gearbeitet. Siehe http://stackoverflow.com/questions/21129020/how-to-fix-unicodedecodeerror-ascii-codec-cant-decode-byte – CarMoreno

Antwort

2

Die einfache Lösung ist: ändere deinen Namen;) Natürlich mache ich Witze, du solltest deinen Namen nicht ändern müssen, weil ein Werkzeug kaputt ist!

kann ich Ihre Probleme mit virtualenv reproduzieren:

/tmp$ mkdir "Carlos Andrés Moreno" 
/tmp$ cd Carlos\ Andrés\ Moreno/ 
/tmp/Carlos Andrés Moreno$ virtualenv kernel 
New python executable in kernel/bin/python2 
Also creating executable in kernel/bin/python 
Traceback (most recent call last): 
    File "<string>", line 1, in <module> 
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 16: ordinal not in range(128) 
ERROR: The executable kernel/bin/python2 is not functioning 
ERROR: It thinks sys.prefix is u'/tmp/Carlos Andr\xe9s Moreno' (should be u'/tmp/Carlos Andr\xe9s Moreno/kernel') 
ERROR: virtualenv is not compatible with this system or executable 

Mit virtualenvwrapper mit, ich habe kein Problem:

/tmp/Carlos Andrés Moreno$ mkvirtualenv kernel 
New python executable in kernel/bin/python2 
Also creating executable in kernel/bin/python 
Installing setuptools, pip, wheel...done. 
virtualenvwrapper.user_scripts creating /home/wglenn/.virtualenvs/kernel/bin/predeactivate 
virtualenvwrapper.user_scripts creating /home/wglenn/.virtualenvs/kernel/bin/postdeactivate 
virtualenvwrapper.user_scripts creating /home/wglenn/.virtualenvs/kernel/bin/preactivate 
virtualenvwrapper.user_scripts creating /home/wglenn/.virtualenvs/kernel/bin/postactivate 
virtualenvwrapper.user_scripts creating /home/wglenn/.virtualenvs/kernel/bin/get_env_details 
(kernel)/tmp/Carlos Andrés Moreno$ 

Es scheint, sie mit dem Umgang mit Nicht-ASCII-Zeichen vorsichtiger waren . Also versuchen Sie es mit der mkvirtualenv Hilfsfunktion von virtualenvwrapper.sh

+0

"Die einfache Lösung ist: ändern Sie Ihren Namen" - Sie sagten das als Witz, aber es ist tatsächlich die _best_ Lösung: Ändern Sie Ihren Kontonamen. Ein Kontoname, der Leerzeichen, nicht-ASCII-Zeichen oder sogar Großbuchstaben enthält, kann unnötige Probleme verursachen. Ich spreche aus Erfahrung, da ich einen Vornamen mit einem "é" habe. – kay

+2

Ich habe gemischte Gefühle zu diesem Thema. Sicher, Praktikabilität übertrifft Reinheit. Wenn aber andererseits jeder diese "faule" Herangehensweise wählt, werden kaputte Werkzeuge nie repariert werden! sadface.jpg – wim

+0

Ausgezeichnete Antwort @wim vielen Dank. – CarMoreno

Verwandte Themen