Saya tidak tahu apakah ini terkait dengan # 186 tetapi dengan pemasangan python baru saya di Windows 8 saya, saya mengalami kesalahan berikut saat menggunakan virtualenv di jalur C: \ Users \ oncleben \ Dropbox \ Developement \ fraisDeSanté
C:\Users\oncleben\Dropbox\Developement\fraisDeSanté> virtualenv ENV
New python executable in ENV\Scripts\python.exe
Traceback (most recent call last):
File "<string>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 50: ordinal not in range(128)
ERROR: The executable ENV\Scripts\python.exe is not functioning
ERROR: It thinks sys.prefix is u'c:\\users\\oncleben\\dropbox\\developement\\fraisdesant\xe9' (should be u'c:\\users\\on
cleben\\dropbox\\developement\\fraisdesant\xe9\\env')
ERROR: virtualenv is not compatible with this system or executable
Note: some Windows users have reported this error when they installed Python for "Only this user" or have multiple versi
ons of Python installed. Copying the appropriate PythonXX.dll to the virtualenv Scripts/ directory may fix this problem.
python v2.7.5
daftar pip
hidung (1.3.0)
pip (1.4)
Perancah (0.1.3)
alat penyiapan (0.9.7)
virtualenv (1.10)
Edit:
Halo,
Punya masalah yang sama persis di sini dengan:
python v2.7.5
Win7 64bit
Bisa direproduksi sesuka hati
Sepertinya # 453
Masalah ini juga terjadi di Mac OS X 10.8.4 dengan Python v2.7.2:
New python executable in venv/bin/python
Traceback (most recent call last):
File "<string>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 16: ordinal not in range(128)
ERROR: The executable venv/bin/python is not functioning
ERROR: It thinks sys.prefix is u'/Users/RSChiang/\u539f\u59cb\u78bc/repo' (should be u'/Users/RSChiang/\u539f\u59cb\u78bc/repo/venv')
ERROR: virtualenv is not compatible with this system or executable
Permintaan pull # 187 menyebutkan sesuatu tentang pengkodean FS berbeda dari pengkodean default. Mungkin konfigurasi sistem akan menyelesaikannya?
perbaikan atykhonov bekerja untuk saya.
Menabrak. Adakah peningkatan? @atykhonov Bagaimana jika mengirimkan tambalan Anda sebagai permintaan tarik?
Dito. Masalah juga terjadi di Linux, di sini dengan karakter Cina:
$ virtualenv /tmp/中文
New python executable in /tmp/中文/bin/python
Traceback (most recent call last):
File "<string>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 5: ordinal not in range(128)
ERROR: The executable /tmp/中文/bin/python is not functioning
ERROR: It thinks sys.prefix is u'/home/vinay/projects/scratch' (should be u'/tmp/\u4e2d\u6587')
ERROR: virtualenv is not compatible with this system or executable
vinay<strong i="6">@ubuntu</strong>:~/projects/scratch$ virtualenv --version
13.1.2
vinay<strong i="7">@ubuntu</strong>:~/projects/scratch$ /tmp/中文/bin/python
Python 2.7.10 (default, Oct 14 2015, 16:09:02)
[GCC 5.2.1 20151010] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Saya memiliki patch WIP untuk masalah ini, sementara hal-hal tidak dapat dilakukan sebelum bug di https://bitbucket.org/pypa/distlib/pull-requests/27 diperbaiki.
@ yan12125 - Saya tidak yakin apakah PR Anda benar, lihat komentar saya tentang itu. Selain itu, tidak jelas apakah dump konsol di atas terkait dengan masalah distlib
- tampaknya merupakan bug berbeda di virtualenv
yang dipanggil saat menguji bahwa venv dibuat dengan benar.
Ada banyak permintaan tarik yang mencoba menyelesaikan ini:
Saya kira lingkungan pengujian Windows seperti Appveyor juga diperlukan. pypa / pip sudah menggunakannya .
FI, saya mendapat kesalahan yang sama di Debian GNU / Linux 9.2, Python 2.7.14.
% pwd
/home/tiger-222/Téléchargements
Python 2:
% python2 -m pip install --user --upgrade virtualenv
Collecting virtualenv
Using cached virtualenv-15.1.0-py2.py3-none-any.whl
Installing collected packages: virtualenv
Successfully installed virtualenv-15.1.0
% python2 -m virtualenv test-python2
New python executable in /home/tiger-222/Téléchargements/test-python2/bin/python2
Also creating executable in /home/tiger-222/Téléchargements/test-python2/bin/python
Traceback (most recent call last):
File "<string>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 17: ordinal not in range(128)
ERROR: The executable /home/tiger-222/Téléchargements/test-python2/bin/python2 is not functioning
ERROR: It thinks sys.prefix is u'/home/tiger-222/T\xe9l\xe9chargements' (should be u'/home/tiger-222/T\xe9l\xe9chargements/test-python2')
ERROR: virtualenv is not compatible with this system or executable
Python 3:
% python3 -m pip install --user --upgrade virtualenv
Collecting virtualenv
Using cached virtualenv-15.1.0-py2.py3-none-any.whl
Installing collected packages: virtualenv
Successfully installed virtualenv-15.1.0
% python3 -m virtualenv test-python3
Using base prefix '/usr'
New python executable in /home/tiger-222/Téléchargements/test-python3/bin/python3
Also creating executable in /home/tiger-222/Téléchargements/test-python3/bin/python
Installing setuptools, pip, wheel...done.
Untuk apa pun nilainya, saya dapat mereproduksi masalah ini di Windows 7, Python 3.6.4, virtualenv 15.1.0, saat bekerja di bawah akun pengguna dengan nama pengguna dimulai dengan $
.
PS C:\Users\$scuthbertson\Desktop\bugtest> python -m virtualenv .
Using base prefix 'C:\\Program Files\\Python36'
New python executable in C:\Users\$scuthbertson\Desktop\bugtest\Scripts\python.exe
Installing setuptools, pip, wheel...
Complete output from command C:\Users\$scuthberts...t\Scripts\python.exe - setuptools pip wheel:
Collecting setuptools
Using cached setuptools-39.0.1-py2.py3-none-any.whl
Collecting pip
Using cached pip-9.0.3-py2.py3-none-any.whl
Collecting wheel
Using cached wheel-0.30.0-py2.py3-none-any.whl
Installing collected packages: setuptools, pip, wheel
Exception:
Traceback (most recent call last):
File "C:\Program Files\Python36\Lib\distutils\util.py", line 202, in subst_vars
return re.sub(r'\$([a-zA-Z_][a-zA-Z_0-9]*)', _subst, s)
File "C:\Users\$scuthbertson\Desktop\bugtest\lib\re.py", line 191, in sub
return _compile(pattern, flags).sub(repl, string, count)
File "C:\Program Files\Python36\Lib\distutils\util.py", line 199, in _subst
return os.environ[var_name]
File "C:\Users\$scuthbertson\Desktop\bugtest\lib\os.py", line 669, in __getitem__
raise KeyError(key) from None
KeyError: 'scuthbertson'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Program Files\Python36\lib\site-packages\virtualenv_support\pip-9.0.1-py2.py3-none-any.whl\pip\basecommand.py
", line 215, in main
status = self.run(options, args)
File "C:\Program Files\Python36\lib\site-packages\virtualenv_support\pip-9.0.1-py2.py3-none-any.whl\pip\commands\insta
ll.py", line 342, in run
prefix=options.prefix_path,
File "C:\Program Files\Python36\lib\site-packages\virtualenv_support\pip-9.0.1-py2.py3-none-any.whl\pip\req\req_set.py
", line 784, in install
**kwargs
File "C:\Program Files\Python36\lib\site-packages\virtualenv_support\pip-9.0.1-py2.py3-none-any.whl\pip\req\req_instal
l.py", line 851, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
File "C:\Program Files\Python36\lib\site-packages\virtualenv_support\pip-9.0.1-py2.py3-none-any.whl\pip\req\req_instal
l.py", line 1064, in move_wheel_files
isolated=self.isolated,
File "C:\Program Files\Python36\lib\site-packages\virtualenv_support\pip-9.0.1-py2.py3-none-any.whl\pip\wheel.py", lin
e 247, in move_wheel_files
prefix=prefix,
File "C:\Program Files\Python36\lib\site-packages\virtualenv_support\pip-9.0.1-py2.py3-none-any.whl\pip\locations.py",
line 153, in distutils_scheme
i.finalize_options()
File "C:\Program Files\Python36\Lib\distutils\command\install.py", line 307, in finalize_options
self.expand_basedirs()
File "C:\Program Files\Python36\Lib\distutils\command\install.py", line 475, in expand_basedirs
self._expand_attrs(['install_base', 'install_platbase', 'root'])
File "C:\Program Files\Python36\Lib\distutils\command\install.py", line 469, in _expand_attrs
val = subst_vars(val, self.config_vars)
File "C:\Program Files\Python36\Lib\distutils\util.py", line 204, in subst_vars
raise ValueError("invalid variable '$%s'" % var)
ValueError: invalid variable '$'scuthbertson''
----------------------------------------
...Installing setuptools, pip, wheel...done.
Traceback (most recent call last):
File "C:\Program Files\Python36\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "C:\Program Files\Python36\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Program Files\Python36\lib\site-packages\virtualenv.py", line 2328, in <module>
main()
File "C:\Program Files\Python36\lib\site-packages\virtualenv.py", line 713, in main
symlink=options.symlink)
File "C:\Program Files\Python36\lib\site-packages\virtualenv.py", line 945, in create_environment
download=download,
File "C:\Program Files\Python36\lib\site-packages\virtualenv.py", line 901, in install_wheel
call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT)
File "C:\Program Files\Python36\lib\site-packages\virtualenv.py", line 797, in call_subprocess
% (cmd_desc, proc.returncode))
OSError: Command C:\Users\$scuthberts...t\Scripts\python.exe - setuptools pip wheel failed with error code 2
PS C:\Users\$scuthbertson\Desktop\bugtest>
@philosophicles : yang tampak seperti masalah yang berbeda dari karakter atau spasi China di jalur. Bisakah Anda membuka terbitan baru?
BTW, venv juga terpengaruh, dan akan sangat bagus jika masalah dibuka di https://bugs.python.org/ untuk venv juga.
@philosophicles Ini mungkin bukan bug - tampaknya terjadi karena distutils
melihat $cuthbertson
sebagai placeholder dan mencoba menggantinya dengan variabel, yang tidak ditemukan. Lihat bagian dokumentasi ini .
Saya akan mengangkat masalah terpisah (di virtualenv dan venv) untuk masalah saya saat ini.
@vsajip - pendapat saya adalah bahwa ini pasti bug. Saya telah melihat dokumentasi yang Anda rujuk, tetapi itu adalah referensi API untuk seseorang yang mengembangkan menggunakan distutils. Saya hanya mencoba menjalankan perintah sederhana seperti > python -m virtualenv .
bawah Windows, dan menemukan kesalahan fatal yang mencegah virtualenv melakukan apa yang seharusnya dilakukan. Saya tidak perlu peduli sama sekali tentang implementasi internal virtualenv, atau bagaimana distutils bekerja, atau bahkan apa path direktori lengkap saya. Ini sah untuk path direktori Windows berisi $
sehingga idealnya harus didukung.
Masalah ini secara otomatis ditandai sebagai usang karena tidak ada aktivitas terbaru. Ini akan ditutup jika tidak ada aktivitas lebih lanjut. Cukup tambahkan komentar jika Anda ingin tetap membukanya. Terima kasih atas kontribusi Anda.
@stale menutup ini .... tapi ping. Ini masih bug ... tapi saya baik-baik saja jika ini tidak diperbaiki pada 2.7.x ... Saya hanya perlu tahu
Ini sekarang telah diperbaiki, selama codec sistem file dapat menanganinya, kami akan menanganinya juga 👍 jika tidak, kami akan memunculkan pesan kesalahan yang sesuai 👍 Di windows pre python3.6 ini berarti mcbs codec 👍 dalam semua kasus selanjutnya kita sedang berbicara tentang utf-8.
@gaborbernat Terima kasih ++
Hai @gaborbernat , apakah masalah ini telah diperbaiki di cabang master terbaru?
Saya menggunakan cabang master dan mendapatkan kesalahan yang mirip dengan masalah # 1375 .
jika tidak, saya dapat membuat PR untuk memperbaiki masalah ini.
Bukan di cabang master, tapi cabang rewrite
yang akan segera menggantikan master.
Oke, terima kasih atas balasan Anda.
Komentar yang paling membantu
Ini sekarang telah diperbaiki, selama codec sistem file dapat menanganinya, kami akan menanganinya juga 👍 jika tidak, kami akan memunculkan pesan kesalahan yang sesuai 👍 Di windows pre python3.6 ini berarti mcbs codec 👍 dalam semua kasus selanjutnya kita sedang berbicara tentang utf-8.