Python встраиваемый ZIP

С выпуском 3.5.0 Python.org ввел дистрибутив, объявленный как внедряемый zip файл.

К сожалению, файл zipped поставляется без файла справки (даже не чтения). Страница на Python.org просто перечисляет ее среди загрузок.

По-видимому, это портативный дистрибутив Python. В любом случае, по-разному в структуре и размере от стандартного дистрибутива используется установщик.

Я понял, что можно установить pip с помощью get-pip.py, и, благодаря пипсу, настало время добавить много других приложений пакеты, хотя я все еще не могу добавить Tkinter (отрегулируйте косые черты в соответствии с вашей оболочкой):

curl https://www.python.org/ftp/python/3.x.x/python-3.x.x-embed-amd64.zip > epython.zip
unzip -o epython.zip -d env1
curl -L https://bootstrap.pypa.io/get-pip.py>env1/get-pip.py
env1/python env1/get-pip.py

Добавьте то, что вам нужно, например django:

env1/python -m pip install django  

Учитывая размер (6.5 Mega для 3.5.1-x64), я думаю, что это может быть удобно как средство для создания изолированных сред.

Фактически общая документация Python гласит, что

встроенное распределение (почти) полностью изолировано от системы пользователей, включая переменные среды, параметры системного реестра и установленный пакет

Учитывая это, в Windows теперь есть две изолированные среды Python, вторая - стандартная Virtualenv. Тот же процесс в Virtualenv выглядит следующим образом:

virtualenv env2

а для django это будет:

env2/Scripts/python -m pip install django  

Сравнивая содержимое env1 и env2, они, похоже, имеют одинаковые файлы. Единственное существенное отличие - Tkinter1, что в любом случае не так важно для настольных приложений.

В чем разница между Python Virtualenv и Python встраиваемым?

В частности, какая разница между изолированным веб-приложением, созданным с встраиваемым zip (env1) и Virtualenv (env2)?

Ответ 1

Как вы можете видеть из документации, в основном это предназначено для запуска приложений на основе Python в ms-windows и для встраивания Python в приложение, Как вы можете видеть, они оставили tkinter. Возможно, чтобы уменьшить размер?

Сравнивая его с вирутуаленов, я не думаю, что это не имеет большого смысла. Они имеют совершенно разные варианты использования.

В мире ms-windows приложения обычно распространяются как монолитные независимые объекты. Напротив, в основном каждый UNIX-аромат имеет систему управления рабочим пакетом, которая упрощает сбор пакетов, которые зависят от других. Поэтому, если вы устанавливаете приложение на базе python в UNIX, система управления пакетами будет в основном устанавливать Python для вас, если он еще не установлен. В ms-windows это не работает. Несколько дистрибутивов Python для ms-windows возникли из-за того, что (по техническим причинам) компиляция и настройка материала в ms-windows болезненна [1] [2] [3] по сравнению с UNIX. Таким образом, наличие встроенного Python может иметь смысл для людей, которые хотят распространять программы на основе Python или хотят внедрять Python в свое приложение.

В общем, хотя я рекомендую, чтобы пользователи ms-windows устанавливали Canopy или Anaconda, потому что они поставляются с большинством внешних модулей, которые вам, вероятно, понадобятся.