Эта проблема решена, в результате чего на Python.org был отправлен отчет об ошибке. См. мой ответ ниже для обходного пути, пока он не будет исправлен в будущей версии Python.
Один из моих компьютеров пострадал от этой ошибки, которая больше не позволяет мне создавать venv с ошибкой:
Error: Command '['C:\\Users\\kesh\\test\\.venv\\Scripts\\python.exe', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 101.
Эта проблема известна в хронологическом порядке: v3.7.2, v3.8, v3.? и v3.10.1
Единственное известное решение — отказаться от индивидуальной установки и использовать глобальную установку, отметив опцию «Установить для всех пользователей».
Я пытаюсь понять, что именно происходит, но идеи быстро заканчиваются. Вот что я пробовал на данный момент:
На моем компьютере функция «Установить для всех пользователей» работает так же, как и установка для каждого пользователя на фиктивной учетной записи. (все используют один и тот же установщик версии 3.10.2). Это указывает на проблему с моей учетной записью Windows. Изменение места установки не помогает.
Перешел к исходному коду venv, запустив Python с помощью venv.main(args=('.venv',)), отладку построчно и отметил, что он копирует Lib\venv\scripts\nt\python.exe из каталога установки Python в локальную папку .venv\Scripts с помощью Shutil.copyfile()< /code>.
Если я запускаю исходный файл Lib\venv\scripts\nt\python.exe в командной строке, он запускается с сообщением Нет файла pyvenv.cfg< /code> (что имеет смысл, поскольку файл .cfg находится в папке .venv, которую он не видит)
Если я вызову скопированный .venv\Scripts\python .exe, то он возвращает ошибку. Невозможно создать процесс с помощью 'C:\Users\kesh\AppData\Local\Programs\Python\Python310\python.exe' (обратите внимание, что python.exe< /code> путь для процесса соответствует установленному exe-файлу Python)
Если .venv установлен успешно (в фиктивной учетной записи Windows), приведенный выше запуск запускает Python сеанс, как и следовало ожидать.
отличается от стандартного двоичного файла Python и проверено, что этот файл и его исходный код в venv\Scripts\nt идентичны.
Все это указывает к этому что-то в конфигурации моей учетной записи мешает .venv\Scripts\python.exe поступать правильно, но мои переменные среды довольно чисты, а пути Python находятся в верхней части пользовательской переменной PATH.
В настоящее время пытаюсь найти исходный код .venv\Scripts\python.exe, но пока не нашел.
Может ли это быть что-то в реестре?
Если у вас есть другие идеи, поделитесь ими.
Обновление №1:< /p>
Найден источник сообщения об ошибке PC/launcher.c Строка 814
Возможность: CreateProcessW( NULL, cmdline,... где cmdline — это исходный путь Python в сообщении об ошибке, без кавычек. В документации CreateProcessW указано, что имя исполняемого файла выводится из первого токена, разделенного пробелами, в cmdline строка. Хотя я заменил фактическое имя своей учетной записи на kesh, на самом деле оно состоит из двух слов и пробела...
[b]Эта проблема решена, в результате чего на Python.org был отправлен отчет об ошибке. См. мой ответ ниже для обходного пути, пока он не будет исправлен в будущей версии Python.[/b] Один из моих компьютеров пострадал от этой ошибки, которая больше не позволяет мне создавать venv с ошибкой: [code]Error: Command '['C:\\Users\\kesh\\test\\.venv\\Scripts\\python.exe', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 101. [/code] [list] [*]Эта проблема известна в хронологическом порядке: v3.7.2, v3.8, v3.? и v3.10.1 [*]Единственное известное решение — отказаться от индивидуальной установки и использовать глобальную установку, отметив опцию «Установить для всех пользователей». [/list] Я пытаюсь понять, что именно происходит, но идеи быстро заканчиваются. Вот что я пробовал на данный момент: [list] [*]На моем компьютере функция «Установить для всех пользователей» работает так же, как и установка для каждого пользователя на фиктивной учетной записи. (все используют один и тот же установщик версии 3.10.2). Это указывает на проблему с моей учетной записью Windows. Изменение места установки не помогает. [*]Перешел к исходному коду venv, запустив Python с помощью venv.main(args=('.venv',)), отладку построчно и отметил, что он копирует Lib\venv\scripts\nt\python.exe из каталога установки Python в локальную папку .venv\Scripts с помощью Shutil.copyfile()< /code>. [*]Если я запускаю исходный файл Lib\venv\scripts\nt\python.exe в командной строке, он запускается с сообщением Нет файла pyvenv.cfg< /code> (что имеет смысл, поскольку файл .cfg находится в папке .venv, которую он не видит) [*]Если я вызову скопированный .venv\Scripts\python .exe, то он возвращает ошибку. Невозможно создать процесс с помощью 'C:\Users\kesh\AppData\Local\Programs\Python\Python310\python.exe' (обратите внимание, что python.exe< /code> путь для процесса соответствует установленному exe-файлу Python) [*]Если .venv установлен успешно (в фиктивной учетной записи Windows), приведенный выше запуск запускает Python сеанс, как и следовало ожидать. [*][code]venv\scripts\nt\python.exe[/code] отличается от стандартного двоичного файла Python и проверено, что этот файл и его исходный код в venv\Scripts\nt идентичны. [*]Все это указывает к этому что-то в конфигурации моей учетной записи мешает .venv\Scripts\python.exe поступать правильно, но мои переменные среды довольно чисты, а пути Python находятся в верхней части пользовательской переменной PATH. В настоящее время пытаюсь найти исходный код .venv\Scripts\python.exe, но пока не нашел. [*]Может ли это быть что-то в реестре? [/list] Если у вас есть другие идеи, поделитесь ими. Обновление №1:< /p> [list] [*]Найден источник сообщения об ошибке PC/launcher.c Строка 814 [*]Возможность: CreateProcessW( NULL, cmdline,... где cmdline — это исходный путь Python в сообщении об ошибке, без кавычек. В документации CreateProcessW указано, что имя исполняемого файла выводится из первого токена, разделенного пробелами, в cmdline строка. Хотя я заменил фактическое имя своей учетной записи на kesh, на самом деле оно состоит из двух слов и пробела... [/list] Обновление №2: Решение найдено, как указано ниже
У меня есть собственный проект Pi, над которым я работаю, и с точки зрения разработки все работает нормально, но я не могу запустить свое приложение при запуске.
Я начал с создания сценария оболочки для запуска двух команд
source...
У меня есть собственный проект Pi, над которым я работаю, и с точки зрения разработки все работает нормально, но я не могу запустить свое приложение при запуске.
Я начал с создания сценария оболочки для запуска двух команд
source...
В моем коде Python я использую yara для компиляции правил yara.
Документация находится по адресу
html говорит, что я могу использовать его, импортировав следующим образом:
import yara
Однако, когда я запускаю код, я получаю
FileNotFoundError:...
Я пытаюсь запустить небольшой сценарий Python, используя Venv on VS -код. В скрипте используются два внешних пакета, перечисленные в файле TEDS.TXT, включенном в пакет Scripts. File C:\Users\somepath\scriptfolder\thescript.py , line 17, in
import...