Я написал программу на python и с помощью pyinstaller превратил её в exe файл. Будет ли он работать на windows 7, если я использую версию 3.9.5?

Допустим, у меня есть python версии 3.9.5, который не поддерживается на windows 7. Я написал программу в py файле и с помощью pyinstaller превратил этот файл в exe. Будет ли работать exe файл на windows 7? Так как у меня нет компьютера с windows 7, проверить я это не могу.


Ответы (1 шт):

Автор решения: insolor

PyInstaller не компилирует код, а просто заворачивает в exe файл интерпретатор Python и вашу программу. Если версия интерпретатора не поддерживает систему, на которой собираетесь запускать, то и exe на этой системе не запустится.

Python 3.9 не поддерживает Windows 7. Поддерживаемые версии можно посмотреть на странице скачивания python, например:

  • "Note that Python 3.9.6 cannot be used on Windows 7 or earlier." - версия Python 3.9.6 не может использоваться на Windows 7 и более ранних версиях
  • "Note that Python 3.8.11 cannot be used on Windows XP or earlier." - аналогично, Python 3.8.11 не может использоваться на WinXP и более ранних версиях.

Если вдруг нужна будет поддержка Windows XP - используйте Python 3.4

Что еще нужно учитывать:

  • Для версий Python 3.5 и выше на "целевом" компьютере возможно потребуется установить дополнительные обновления системы (без нужного обновления будет кидать ошибки, что отсутствуют библиотеки типа api-ms-win-core-path-l1-1-0.dll и с другими подобными именами). В целом, Python до версии 3.4 (включительно) более "неприхотлив".
  • Экзешник, собранный PyInstaller на 64-битной версии Python, не запустится на 32-битной операционной системе. Если нужна поддержка 32-битных систем - собирайте на 32-битной версии Python, тогда будет работать и на 32-битных, и на 64-битных системах (два отдельных экзешника делать не нужно, достаточно одного 32-битного).

Так как у меня нет компьютера с windows 7, проверить я это не могу.

Для тестирования работоспособности полученного экзешника можно установить виртуальную машину (я обычно использую VirtualBox) с нужной операционной системой. Отдельный компьютер для этого не нужен.

→ Ссылка