Virtualenv: مشكلة مع سيارة غير ASCII في المسار

تم إنشاؤها على ٢٩ يوليو ٢٠١٣  ·  20تعليقات  ·  مصدر: pypa/virtualenv

لا أعرف ما إذا كان هذا مرتبطًا بـ # 186 ولكن مع التثبيت الجديد الخاص بي من python على نظام Windows 8 الخاص بي ، لدي الخطأ التالي عند استخدام virtualenv في المسار 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.

بيثون v2.7.5
قائمة النقاط
أنف (1.3.0)
نقطة (1.4)
سقالة (0.1.3)
setuptools (0.9.7)
Virtualenv (1.10)

تعديل:

bug help-wanted

التعليق الأكثر فائدة

لقد تم إصلاح هذا الآن ، طالما أن برنامج ترميز نظام الملفات يمكنه التعامل معه ، فسنتعامل معه أيضًا 👍 إذا لم يكن الأمر كذلك ، فسنرفع رسالة الخطأ المناسبة 👍 في نظام التشغيل windows pre python3.6 ، فهذا يعني ترميز mcbs 👍 في جميع الحالات اللاحقة نتحدث عن utf-8.

ال 20 كومينتر

مرحبا،
حصلت على نفس المشكلة بالضبط هنا مع:
بيثون v2.7.5
Win7 64 بت
يمكن استنساخها في الإرادة

يشبه # 453

تحدث هذه المشكلة أيضًا على نظام التشغيل Mac OS X 10.8.4 مع 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

ذكر طلب السحب رقم 187 أن شيئًا عن ترميز FS يختلف عن الترميز الافتراضي. ربما تكوين النظام سيحلها؟

إصلاح atykhonov يعمل بالنسبة لي.

صدم. أي تقدم؟ atykhonov ماذا عن إرسال التصحيح الخاص بك

كما سبق. تحدث المشكلة أيضًا على Linux ، وهنا مع الأحرف الصينية:

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

لدي تصحيح WIP لهذه المشكلة ، بينما لا يمكن فعل الأشياء قبل إصلاح الخطأ في https://bitbucket.org/pypa/distlib/pull-requests/27 .

@ yan12125 - لست متأكدًا مما إذا كانت العلاقات العامة الخاصة بك صحيحة ، انظر تعليقاتي عليها. أيضًا ، ليس من الواضح ما إذا كان تفريغ وحدة التحكم أعلاه يتعلق بمشكلة distlib - يبدو أنه خطأ مختلف في virtualenv والذي تم استدعاؤه عند اختبار أن venv تم إنشاؤه بشكل صحيح.

هناك الكثير من طلبات السحب التي تحاول حل هذه المشكلة:

  • # 900 (# 875): تم فتحها بواسطتي ، اجتازت جميع الاختبارات
  • # 902 (# 894): فتح بواسطة aodag
  • # 907 (# 453): فتح بواسطةmagres
  • # 908 (# 492): فتح بواسطةatykhonov
  • # 912 (# 630): فتح بواسطة dholth

أعتقد أن بيئة اختبار Windows مثل Appveyor ضرورية أيضًا. pypa / pip تستخدمه بالفعل .

FI ، لقد حصلت على نفس الخطأ في Debian GNU / Linux 9.2 ، Python 2.7.14.

% pwd
/home/tiger-222/Téléchargements

بايثون 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

بايثون 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.

مهما كان الأمر يستحق ، يمكنني إعادة إنتاج هذه المشكلة على Windows 7 ، Python 3.6.4 ، virtualenv 15.1.0 ، عند العمل تحت حساب مستخدم باسم مستخدم يبدأ بـ $ .

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 : يبدو وكأنه قضية مختلفة عن الأحرف الصينية أو المسافات في المسار. هل يمكنك فتح قضية جديدة؟

راجع للشغل ، venv يتأثر أيضًا ، وسيكون رائعًا إذا تم فتح مشكلة على https://bugs.python.org/ لـ venv أيضًا.

philosophicles قد لا يكون هذا خطأ - يبدو أنه يحدث لأن distutils يرى $cuthbertson كعنصر نائب ويحاول استبداله بمتغير لم يتم العثور عليه. انظر هذا الجزء من الوثائق .

سأثير قضايا منفصلة (في كل من virtualenv و venv) لمشكلتي في الوقت الحاضر.

vsajip - رأيي أنه خطأ بالتأكيد. لقد ألقيت نظرة على الوثائق التي تشير إليها ، ولكن هذا مرجع API لشخص ما يطور باستخدام التوزيعات. أحاول فقط تشغيل أمر بسيط مثل > python -m virtualenv . ضمن Windows ، وأواجه خطأ فادحًا يمنع virtualenv من القيام بما يُفترض القيام به. لا ينبغي أن أهتم على الإطلاق بالتنفيذ الداخلي لـ virtualenv ، أو كيف تعمل التوزيعات ، أو حتى ما هو مسار الدليل الكامل الخاص بي. من المشروع أن تحتوي مسارات دليل Windows على $ لذا يجب دعمها بشكل مثالي.

تم وضع علامة على هذه المشكلة تلقائيًا على أنها قديمة نظرًا لعدم وجود نشاط حديث لها. سيتم إغلاقه إذا لم يحدث أي نشاط آخر. فقط أضف تعليقًا إذا كنت تريد إبقائه مفتوحًا. شكرا لمساهماتكم.

stale أغلق هذا .... لكن بينغ. لا يزال هذا خطأ ... لكنني على ما يرام إذا لم يتم إصلاح ذلك في 2.7.x ... أريد فقط أن أعرف

لقد تم إصلاح هذا الآن ، طالما أن برنامج ترميز نظام الملفات يمكنه التعامل معه ، فسنتعامل معه أيضًا 👍 إذا لم يكن الأمر كذلك ، فسنرفع رسالة الخطأ المناسبة 👍 في نظام التشغيل windows pre python3.6 ، فهذا يعني ترميز mcbs 👍 في جميع الحالات اللاحقة نتحدث عن utf-8.

gaborbernat شكرا لك ++

مرحبًا gaborbernat ، هل تم حل هذه المشكلة في أحدث فرع رئيسي؟
لقد استخدمت الفرع الرئيسي وتلقيت أخطاء مشابهة للإصدار رقم 1375 .
إذا لم يكن كذلك ، يمكنني إنشاء علاقات عامة لإصلاح هذه المشكلة.

ليس في الفرع الرئيسي ، ولكن الفرع rewrite الذي سيحل قريبًا محل الرئيسي.

حسنا، شكرا لردك.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات