Python嵌入式zip

使用3.5.0版本,Python.org推出了一个分配为可嵌入的zip文件.

不幸的是,压缩文件没有帮助文件(甚至没有自述文件). Python.org上的download page只是在下载中列出.

显然这是一个可移植的Python发行版.无论如何,使用安装程序的结构和尺寸与标准配置无异.

我意识到可以使用get-pip.py安装pip,并且由于pip,可以轻松添加许多其他应用程序包,尽管我仍然无法添加Tkinter(根据您的shell调整斜杠):

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  

考虑到3.5.1-x64的大小(6.5 Mega),我认为它可以方便地创建孤立的环境.

其实一般的Python documentation

the embedded distribution is (almost) fully isolated from the user’s system, including environment variables, system registry settings, and installed package

鉴于此,在Windows中现在有两个孤立的Python环境,第二个是标准
Virtualenv.与Virtualenv相同的过程如下:

virtualenv env2

对于django它将是:

env2/Scripts/python -m pip install django  

比较env1和env2的内容,它们似乎具有相同的文件.唯一显着的区别是Tkinter1,这对桌面应用程序来说无非常重要.

Python Virtualenv和Python嵌入之间有什么区别?

具体来说,使用嵌入式zip(env1)和Virtualenv(env2)创建的孤立网络应用程序之间的区别是什么?

documentation可以看出,它主要用于在ms-windows上运行基于Python的应用程序,并在应用程序中嵌入Python.你可以看到,他们离开了tkinter.也许保持大小下降?

我认为,将它与virutualenv相比并没有多大意义.他们有完全不同的用例.

在ms-windows世界中,应用程序通常作为独立的独立实体分发.相比之下,基本上每个UNIX风格都有一个工作包管理系统,使得更容易拥有依赖于他人的包.因此,如果在UNIX中安装基于python的应用程序,如果还没有安装,软件包管理系统将为您安装Python.在ms-windows上这不行.几个用于ms-windows的Python发行版已经弹出,因为与UNIX相比,(由于技术原因)编译和设置ms-windows上的东西是非常痛苦的,因为[1] [2] [3].因此,对于想要分发基于Python的程序或希望将Python嵌入到应用程序中的人来说,嵌入式Python对于这些应用程序是有意义的.

一般来说,我建议ms-windows用户安装Canopy或Anaconda,因为它们与您可能需要的大多数外部模块配合使用.

翻译自:https://stackoverflow.com/questions/37633550/python-embeddable-zip

转载注明原文:Python嵌入式zip