2016-04-20 46 views
0

我已經instaled的virtualenv上窗10和Python 2.7.1但是當我運行:UnicodeDecodeError錯誤: 'ASCII' 編解碼器不能在位置20進行解碼字節0xe9:順序不在範圍內(128)

virtualenv my-virtual

我有這樣的錯誤: UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 20: ordinal not in range(128)

我認爲Python 2.7不明白我的窗戶,因爲重音符號路徑...

enter image description here

如何解決此錯誤?

+0

您是否嘗試在腳本的開頭添加'#encoding:utf-8'? – Krishh

+0

我在virtualenv文件'重新加載(sys) sys.setdefaultencoding('Cp1252')'wirtten併爲我工作。看到http://stackoverflow.com/questions/21129020/how-to-fix-unicodedecodeerror-ascii-codec-cant-decode-byte – CarMoreno

回答

2

簡單的解決方法是:改變你的名字;)當然我是在開玩笑,你不應該改變你的名字,因爲一些工具被打破了!

我可以重現你的問題virtualenv

/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 

對於使用virtualenvwrapper,我沒有任何問題:

/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$ 

似乎他們更小心處理非ASCII字符。因此,請嘗試使用virtualenvwrapper.sh的mkvirtualenv幫助程序功能

+0

「簡單的解決方案是:改變你的名字」 - 你說這是一個笑話,但它實際上是_best_解決方案:更改您的帳戶名稱。包含空格,非ASCII字符或甚至大寫字符的帳戶名稱可能會導致不必要的問題。我從經驗中發言,因爲我有一個包含「é」的名字。 – kay

+2

我對這個問題有着複雜的感受。當然,實用性勝過純度。但另一方面,如果每個人都採取這種「懶惰」的方式,那麼破碎的工具將永遠不會被修復! sadface.jpg – wim

+0

優秀的回答@wim非常感謝你。 – CarMoreno

相關問題