【发布时间】:2016-10-04 15:38:33
【问题描述】:
在 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),我认为它可以很方便地创建隔离环境。
其实一般的Pythondocumentation是这么说的
嵌入式发行版(几乎)与用户系统完全隔离,包括环境变量、系统注册表设置和安装包
鉴于此,在 Windows 中现在有两个独立的 Python 环境,第二个是标准的 Virtualenv。 Virtualenv中同样的流程如下:
virtualenv env2
对于 django 来说是:
env2/Scripts/python -m pip install django
比较env1 和env2 的内容,它们似乎具有相同的文件。唯一显着的区别是Tkinter1,无论如何这对于桌面应用程序来说意义不大。
Python Virtualenv 和 Python embeddable 有什么区别?
具体来说,使用可嵌入 zip (env1) 和 Virtualenv (env2) 创建的隔离 Web 应用程序之间的区别是什么?
【问题讨论】:
-
如上所述,可嵌入的 Python 中没有 Tkinter。如果你知道怎么做,请回答here。
标签: python python-3.x pip