pico web-web-pico框架的一个示例web应用程序。(从原始烧瓶上移植)

notes-pico的Python项目详细描述


notes pico是一个简单的笔记web应用程序。原来是 查尔斯·莱弗写的一个演示如何写一个简单,但圆滑 使用flask web微框架的web应用程序。应用程序是 在博客中描述 http://charlesleifer.com/blog/saturday-morning-hack-a-little-note-taking-app-with-flask/ 是的。notes pico是此应用程序到 [pico web](https://github.com/pfalcon/picoweb/)web pico框架 对于pycopy(https://github.com/pfalcon/pycopy),一个极简的python 实施。这是保罗·索科洛夫斯基的报告。

在pycopy“unix”版本上部署

要安装并运行应用程序,您应该安装pycopy “unix”端口,如https://github.com/pfalcon/pycopy所述。 一旦路径中有pycopy可执行文件(建议,但是 不完全必要),请将目录更改为要安装的位置 应用程序(~/tmp/应该适合快速测试)并安装 notes-pico包:

pycopy -m upip install -p app notes-pico

app(选项-p的参数)是要 安装应用程序。要运行应用程序,请执行:

MICROPYPATH=app pycopy -m notes_pico

这将初始化便笺存储并输出要在浏览器中打开的URL:

* Running on http://127.0.0.1:8081/

打开链接并开始添加注释(键入文本后按“添加注释” 按钮或按ctrl+enter)。请注意,picoweb端口的目的是 简单和低资源,因此只支持纯文本注释,不像 原始烧瓶应用。

在嵌入式pycopy目标上部署

notes pico也可以在“嵌入式”(微控制器)pycopy上运行 具有网络功能和适当堆大小(TBC)的目标。 因为notes pico是全堆栈应用程序,并且包含 很多代码,在这样的系统上部署它的唯一实际方法是 使用“冻结字节码”方法,其中预编译的python模块 使二进制固件映像的一部分在目标上闪烁。 下面的说明以pycopy esp8266端口为例。

  1. cd pycopy/ports/esp8266
  2. pycopy -m upip install -p modules notes-pico
  3. make
  4. make deploy(有关更多参数,请参阅目录中的自述文件)
  5. 启动ESP8266模块,在设备提示下运行以下命令。
  6. import notes_pico.__main__
  7. notes_pico.__main__.main(host="0.0.0.0")
  8. 使用网络浏览器连接到http://设备IP:8081,其中 设备IP是ESP8266设备的IP地址。(参考pycopy 用于网络连接设置的ESP8266端口文档。)

存储后端

notes pico支持3个存储后端:

  • b树
  • 文件系统
  • sqlite3

作为pycopy微控制器可移植性的第一步 版本,从pypi安装的包的默认后端 通过上一节中的命令是btree数据库。这个 注释存储在当前的notes.db数据库文件中 目录,berkeleydb 1.x格式。

如果您想尝试filesystem/sqlite3后端,则需要 签出https://github.com/pfalcon/notes-pico并编辑文件 notes_pico/config.py。存储库很方便 生成文件以安装依赖项并运行应用程序,类似于 达到上述命令的效果。

已知问题和限制

如上所述,应用程序的picoweb端口仅支持 纯文本注释,无格式、图像或视频。

嵌入式目标支持是实验性的,添加在0.8版中。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaPax考试:从非标准Maven存储库解析Karaf特性存储库(XML文件)   java Spring启动Bean创建异常   java中将ArrayList转换为数组的方法   Android Studio的java Unity插件。   java在CheckStyle中从方法计数中排除getter和setter   HibernateJava。sql。SQLSyntaxErrorException:表/视图“序列”不存在   与命令行程序Java vs C通信   java WebView膨胀异常   java在O(n)java8流中寻找两个列表的交集   java使用Gradle运行单元测试时,最大堆大小在哪里设置?   ssl加载java应用程序(CXF)内的jks文件   CI:Jenkins Git:Simple Java项目:希望在特定时间在脚本上发送消息   java根据位置更改数字   java按数值排序字符串数组   macos java版本“1.6.0_65”是否与java 6模棱两可?   Cassandra中的java时间戳