Virtualenv: [20.0.10] دعم متجر Windows

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

1362 يدعي الدعم ولكن لا يبدو أنه يعمل على النحو المطلوب:

(venv) C:\Users\IEUser\astpretty>virtualenv v -vvv --with-traceback
390 setup logging to NOTSET [DEBUG report:43]
468 could not create app data folder C:\Users\IEUser\AppData\Local\pypa\virtualenv due to FileNotFoundError(2, 'The system cannot find the path specified') [INFO app_data:54]
577 created temporary app data folder C:\Users\IEUser\AppData\Local\Temp\tmpaqvhomd3 [DEBUG app_data:32]
624 find interpreter for spec PythonSpec(path=c:\users\ieuser\astpretty\venv\scripts\python.exe) [INFO builtin:44]
Traceback (most recent call last):
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.1776.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.1776.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\IEUser\astpretty\venv\Scripts\virtualenv.exe\__main__.py", line 9, in <module>
  File "c:\users\ieuser\astpretty\venv\lib\site-packages\virtualenv\__main__.py", line 50, in run_with_catch
    run(args, options)
  File "c:\users\ieuser\astpretty\venv\lib\site-packages\virtualenv\__main__.py", line 20, in run
    session = cli_run(args, options)
  File "c:\users\ieuser\astpretty\venv\lib\site-packages\virtualenv\run\__init__.py", line 27, in cli_run
    session = session_via_cli(args, options)
  File "c:\users\ieuser\astpretty\venv\lib\site-packages\virtualenv\run\__init__.py", line 35, in session_via_cli
    parser = build_parser(args, options)
  File "c:\users\ieuser\astpretty\venv\lib\site-packages\virtualenv\run\__init__.py", line 71, in build_parser
    parser._interpreter = interpreter = discover.interpreter
  File "c:\users\ieuser\astpretty\venv\lib\site-packages\virtualenv\discovery\discover.py", line 44, in interpreter
    self._interpreter = self.run()
  File "c:\users\ieuser\astpretty\venv\lib\site-packages\virtualenv\discovery\builtin.py", line 33, in run
    return get_interpreter(self.python_spec, self.app_data.folder)
  File "c:\users\ieuser\astpretty\venv\lib\site-packages\virtualenv\discovery\builtin.py", line 46, in get_interpreter
    for interpreter, impl_must_match in propose_interpreters(spec, app_data):
  File "c:\users\ieuser\astpretty\venv\lib\site-packages\virtualenv\discovery\builtin.py", line 60, in propose_interpreters
    yield PythonInfo.from_exe(spec.path, app_data), True
  File "c:\users\ieuser\astpretty\venv\lib\site-packages\virtualenv\discovery\py_info.py", line 293, in from_exe
    proposed = proposed._resolve_to_system(app_data, proposed)
  File "c:\users\ieuser\astpretty\venv\lib\site-packages\virtualenv\discovery\py_info.py", line 328, in _resolve_to_system
    target = cls.from_exe(target.system_executable, app_data)
  File "c:\users\ieuser\astpretty\venv\lib\site-packages\virtualenv\discovery\py_info.py", line 290, in from_exe
    proposed = from_exe(cls, app_data, exe, raise_on_error=raise_on_error, ignore_cache=ignore_cache)
  File "c:\users\ieuser\astpretty\venv\lib\site-packages\virtualenv\discovery\cached_py_info.py", line 32, in from_exe
    result = _get_from_cache(cls, py_info_cache, app_data, exe, ignore_cache=ignore_cache)
  File "c:\users\ieuser\astpretty\venv\lib\site-packages\virtualenv\discovery\cached_py_info.py", line 56, in _get_from_cache
    py_info = _get_via_file_cache(cls, py_info_cache, app_data, exe_path, exe)
  File "c:\users\ieuser\astpretty\venv\lib\site-packages\virtualenv\discovery\cached_py_info.py", line 68, in _get_via_file_cache
    resolved_path_modified_timestamp = resolved_path.stat().st_mtime
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.1776.0_x64__qbz5n2kfra8p0\lib\pathlib.py", line 1178, in stat
    return self._accessor.stat(self)
OSError: [WinError 1920] The file cannot be accessed by the system: 'C:\\Users\\IEUser\\AppData\\Local\\Microsoft\\WindowsApps\\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\\python.exe'

أنا أستخدم متجر windows python 3.7.6 على نظام التشغيل windows 10

(venv) C:\Users\IEUser\astpretty>python --version --version
Python 3.7.6 (tags/v3.7.6:43364a7ae0, Dec 19 2019, 01:54:44) [MSC v.1916 64 bit (AMD64)]
bug

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

asottile للأسف لا يمكن الحصول على عقد من متجر windows python في CI. سآخذ نظرة ، لقد نجحت بعد ذلك العلاقات العامة. يبدو أن العزم كسر الدنيا هنا ...

ال 6 كومينتر

لاحظ أيضًا ، لم أستطع تشغيل --help لإظهار الخيارات دون الضغط على الخطأ: S

asottile للأسف لا يمكن الحصول على عقد من متجر windows python في CI. سآخذ نظرة ، لقد نجحت بعد ذلك العلاقات العامة. يبدو أن العزم كسر الدنيا هنا ...

لذلك يبدو أن الجاني هنا:

PS C:\Users\traveler\git\virtualenv> python -c 'import sys; from pathlib import Path; import os; print(sys.executable); print(os.path.exists(sys.executable)); print(Path(sys.executable).exists())'
C:\Users\traveler\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\python.exe
False
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.1776.0_x64__qbz5n2kfra8p0\lib\pathlib.py", line 1356, in exists
    self.stat()
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.1776.0_x64__qbz5n2kfra8p0\lib\pathlib.py", line 1178, in stat
    return self._accessor.stat(self)
OSError: [WinError 1920] The file cannot be accessed by the system: 'C:\\Users\\traveler\\AppData\\Local\\Microsoft\\WindowsApps\\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\\python.exe'

لذلك ليس لدينا حقوق كافية للتحقق من وجود المسار ، لكن يمكننا تشغيله. يُثير pathlib استثناءً ، بينما يُرجع os.path.exists فقط False .

cczooba أتوقع أن يعمل هذا على النحو المصمم؟

تم إصلاحه في 3.8 ، حيث أعدنا كتابة stat() على Windows للتعامل مع نقاط إعادة التوزيع غير القابلة للمتابعة وغير القابلة للقراءة (والتي لم تكن موجودة بالفعل من قبل) ، بالإضافة إلى عدد من حالات الحافة الأخرى.

os.lstat() على Python 3.7 ، لذلك إذا كانت هناك طريقة لاستخدامها بدلاً من ذلك ، فابحث عنها. بخلاف ذلك ، لا تتردد في إعلان Python 3.7 من المتجر على أنها خارج النطاق / غير مدعومة - ولهذا السبب وضعنا العلامة "التجريبية" عليها.

لذا فإنني أميل إلى التخلي عن متجر python 3.7 في هذه الحالة. ومع ذلك ، هناك مشكلة أخرى واجهتها وهي أن طريقة تخزين python --symlinks تنشئ بيئة افتراضية لا يمكن تنفيذها ؛ ولا يفشل إلا بعد الخلق وليس أثناءه.

مرحبًا ، تم إصدار حل لهذه المشكلة عبر Virtualenv 20.0.11 ؛ راجع https://pypi.org/project/virtualenv/20.0.11/ (https://virtualenv.pypa.io/en/latest/changelog.html#v20-0-11-2020-03-18). يرجى المحاولة والإبلاغ إذا لم تتم معالجة مشكلتك ؛ إذا لم يكن كذلك ، يرجى التعليق هنا ، وسوف نعيد فتح التذكرة. نود أن نعتذر عن الإزعاج الذي سببه لك هذا ونقول شكرًا على تحلينا بالصبر أثناء قيامنا بحل الأخطاء غير المتوقعة في هذا الإصدار الرئيسي الجديد.
thanks

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