(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'
Estoy usando la tienda de Windows Python 3.7.6 en 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)]
tenga en cuenta también, no pude ejecutar --help
para mostrar las opciones sin presionar el error: S
@asottile, lamentablemente, no es posible obtener una tienda de Windows Python en CI. Echaré un vistazo, funcionó justo después de ese PR. Parece que la resolución rompió el mundo aquí ...
Entonces, el culpable aquí parece este:
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'
Entonces no tenemos suficientes derechos para verificar la existencia de la ruta, pero podemos ejecutarla. pathlib
genera una excepción, os.path.exists
solo devuelve un False
silencioso.
cc @zooba Espero que esto funcione según lo diseñado.
Se corrigió en 3.8, donde reescribimos stat()
en Windows para manejar puntos de análisis que no se pueden seguir y que no se pueden leer (que nunca habían existido antes), así como otros casos extremos.
os.lstat()
en Python 3.7 funciona, así que si hay una manera de usar eso en su lugar, hágalo. De lo contrario, siéntase libre de declarar Python 3.7 de la Tienda como fuera de alcance / no admitido; es por eso que le pusimos la marca "experimental".
Así que estoy tentado a dejar de almacenar Python 3.7 en este caso. Sin embargo, otro problema con el que me he encontrado es que el método store python --symlinks
crea un entorno virtual que no se puede ejecutar; y solo falla después de la creación, no durante.
Hola, se ha publicado una solución para este problema a través de virtualenv 20.0.11; ver https://pypi.org/project/virtualenv/20.0.11/ (https://virtualenv.pypa.io/en/latest/changelog.html#v20-0-11-2020-03-18). Inténtelo e infórmenos si su problema no ha sido resuelto; si no es así, comente aquí y reabriremos el ticket. Queremos disculparnos por las molestias que esto le ha causado y agradecer su paciencia mientras resolvemos los errores inesperados con esta nueva versión importante.
Comentario más útil
@asottile, lamentablemente, no es posible obtener una tienda de Windows Python en CI. Echaré un vistazo, funcionó justo después de ese PR. Parece que la resolución rompió el mundo aquí ...