内容简介:这里将讨论的嵌入式Python环境并不是一直想要一个嵌入式的python环境,最好对环境做的修改(诸如添加第三方包)可以二次分发给用户。在许多支持自定义功能的软件中,我们经常可以看到嵌入式Python解释器的身影,如GIMP、
这里将讨论的嵌入式 Python 环境并不是 硬件嵌入式开发
的那个嵌入式,如果对Python和硬件感兴趣,推荐micropython.
一直想要一个嵌入式的python环境,最好对环境做的修改(诸如添加第三方包)可以二次分发给用户。
在许多支持自定义功能的软件中,我们经常可以看到嵌入式Python解释器的身影,如GIMP、 Blender 中、 Sublime Text 、Thonny...
我对这些项目一直饶有兴致,却一直没弄懂它们是怎么做的。以为用了什么高深莫测的打包技术。
昨天, @比老师 提交了一个 codelab-adapter jupyter插件 , 这个插件允许使用codelab-adapter GUI启停jupyter,而jupyter便安装在一个嵌入式Python环境中(实际上是一个ZIP包)。
比老师完全实现了我们之前的目标,我兴奋不已,有了这个工作,codelab-adapter面前无疑打开了一扇崭新的大门。我们之后可以做的东西,一下子变得无限宽广。如果我们能更好地控制环境,入门用户就能少受些苦。@比老师提到构建易用的环境,引用Alan Kay的一句话我非常喜欢:
codelab-adapter的痛点
codelab-adapter一直想要一个灵活可控的Python环境,最好支持用户安装第三方库。由于我们使用 Pyinstaller 进行跨平台打包(冻结了整个项目),所以打包后的环境无法做到对pip的支持。
目前关于引入第三方Python库的策略,我们倾向使用ZeroMQ来桥接到系统环境。
尽管Thonny展示了很强大的打包技巧,但它几乎是手动来做,我们又不大乐意。
@比老师的工作让我们看到直接使用嵌入式Python环境要轻松很多。
嵌入式Python环境
Python官方社区提供了可用的嵌入式Python环境,此前我一直未曾留意。
目前只提供了Windows系统下的Python环境。(Mac和 Linux 自带Python!)
Python官方社区提供的自然是CPython的环境,据我所知有些项目在使用PyPy提供的嵌入式环境.
使用笔记
记录下我的一些使用笔记。
下载嵌入式Python环境
我下载了最新的3.7.3版本: python-3.7.3-embed-win32.zip ,md5为 70df01e7b0c1b7042aabb5a3c1e2fbd5
我选择了32位系统的环境,推荐大家也使用32位的版本,32位的版本可以在64位系统上运行,反之则不行。
安装pip
下载get-pip.py到解压后的目录中:
之后运行: .\python get-pip.py
修改 python37._pth
:
python37.zip . # Uncomment to run site.main() automatically import site 复制代码
接下来便可以使用pip安装第三方库了,我们来试试安装jupyterlab: .\python -m pip install jupyterlab -i https://mirrors.aliyun.com/pypi/simple
中途出现一个错误:pyrsistent安装出错. 手动安装pyrsistent: www.lfd.uci.edu/~gohlke/pyt…
.\python -m pip install pyrsistent‑0.15.1‑cp37‑cp37m‑win32.whl
启用jupyterlab: .\python -m jupyterlab
之后分发整个目录即可!
以上所述就是小编给大家介绍的《嵌入式Python环境》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Head First HTML5 Programming
Eric Freeman、Elisabeth Robson / O'Reilly Media / 2011-10-18 / USD 49.99
What can HTML5 do for you? If you're a web developer looking to use this new version of HTML, you might be wondering how much has really changed. Head First HTML5 Programming introduces the key featur......一起来看看 《Head First HTML5 Programming》 这本书的介绍吧!