分享

Tiny Python

 quasiceo 2014-01-19

(Explain different instances, including "Tiny Python 2.5" available here. Relate to pertinent pages, including "Varieties" and EmbeddedPython.)

There have been many "slenderized" Pythons through the years, including

  • http://www./ New (as of 04/2008) from-scratch implementation

  • this FTP directory of generations for MS-DOS, OS/2, and so on;(link appears dead)

  • Deeply Embedded Python - a project which once attracted considerable interest, but seemingly abandoned some time ago

  • Jean-Claude Wippler, Jeff Senn, Brian Lloyd and others have worked on tinyPython. One approach is to exploit "executable compressor" UPX: "This gets python15.dll down to 220K and seems to work for me";

  • [Explain Pyco and PythonD ];

  • Pippy is Python for the Palm; (link appears dead)

  • [museum]

Embedded Python

Python can be used in embedded, small or minimal hardware devices, depending on how limiting the devices actually are.

Devices capable of running CPython

Some modern embedded devices have enough memory and a fast enough CPU to run a typical Linux-based environment, for example, and running CPython on such devices is mostly a matter of compilation (or cross-compilation) and tuning.

Devices which could be considered as "embedded" by modern standards and which can run tuned versions of CPython include the following:

See also PythonForArmLinux and OpenEmbedded.

Work to improve CPython for embedded applications

Various efforts have been made to make CPython more usable for embedded applications:

Reduced or reworked Python implementations

Some devices may be more restrictive in that the typical memory footprint of CPython may exceed the amount of memory available on the device. In such cases, a re-engineered or adapted version of CPython, perhaps even to the point where it can be considered a new implementation of Python, might be appropriate.

Examples of such implementations include the following:

On the other hand, one can start with a full build, and simply remove unneeded modules, e.g., Tkinter, etc., to realize a reduced-size Python with little effort.

Python-based tools for developing embedded applications

Sometimes the embedded environment is just too restrictive to support a Python virtual machine. In such cases, various Python tools can be employed for prototyping, with the eventual application or system code being generated and deployed on the device.

Tools that support this kind of development include the following:

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多