在3.5.0版本中,Python.org引入了一个名为embeddable zip file的发行版.
不幸的是,压缩文件没有帮助文件(甚至没有自述文件).Python上的download page.org只是把它列在下载列表中.
显然这是一个可移植的Python发行版.无论如何,它的 struct 和大小与使用安装程序的标准发行版有很大不同.
我意识到用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兆),我认为它可以方便地作为一种创建隔离环境的手段.
事实上,通用Python documentation说
嵌入式发行版(几乎)与用户系统完全隔离,包括环境变量、系统注册表设置和安装的软件包
有鉴于此,Windows中现在有两个独立的Python环境,第二个是标准环境
virtualenv env2
对于django来说,这将是:
env2/Scripts/python -m pip install django
比较env1
和env2
的内容,它们似乎有相同的文件.唯一显著的区别是Tkinter1,这对于桌面应用程序来说并不重要.
Python Virtualenv和Python Embeddeble之间的区别是什么?
具体来说,使用嵌入式zip(env1
)和Virtualenv(env2
)创建的独立web应用程序之间的区别是什么?