Обратите внимание, что если вы указываете интерпретатор, а затем распространяете архив приложения, то необходимо убедиться, что используемый интерпретатор является переносимым. Средство запуска Python для Windows поддерживает наиболее распространенные формы POSIX строки shebang
- #!
, но есть и другие вопросы для рассмотрения:
/usr/bin/env python
или другие формы команды python
, такие как /usr/bin/python
, то следует учитывать, что у пользователей по умолчанию может быть как Python 2, так и Python 3. В этом случае необходимо писать код для работы под обеими версиями./usr/bin/env python3
, ваше приложение не будет работать для пользователей, у которых нет этой версии. В этом случае необходимо сделать код совместимым с Python 2.python XY
или более поздняя версия", поэтому нужно быть осторожным с использованием точной версии, например /usr/bin/env python3.7
, так как нужно будет менять строку shebang
для того, чтобы запустить приложение для пользователей, у которых по умолчанию стоит Python 3.5.Как правило, в исполняемых приложениях нужно использовать с качестве интерпретатора строку запуска /usr/bin/env python3
или /usr/bin/env python2
, в зависимости от того, написан ли ваш код для Python 3 или 2.
Напомним, что строка shebang
в исполняемых архивах приложений указывается следующими способами.
Из командной строки добавить строку #!
в архив с указанием интерпретатора в качестве команды для запуска:
$ python -m zipapp myapp -o myapp.pyz -p "/usr/bin/env python3" $ ./myapp.pyz <output from myapp>
Чтобы заменить строку shebang
в существующем архиве, создайте измененный архив с помощью функции zipapp.create_archive()
:
>>> import zipapp >>> zipapp.create_archive('old_archive.pyz', 'new_archive.pyz', '/usr/bin/python3')