用于在visual studio代码中自动设置和管理micropython项目的命令行应用程序。
micropy-cli的Python项目详细描述
micropy cli
micropy cli是一个项目管理/生成工具,用于在现代ide(如vscode)中编写micropython代码。 它的主要目标是自动化创建工作区的过程,包括:
- 绒线与micropython兼容
- vscode智能感知
- 自动完成
- 依赖关系管理
- VCS兼容性
安装
您可以从python包索引(pypi)下载并安装此软件的最新版本,如下所示:
pip安装--升级micropy cli
用法
Usage: micropy [OPTIONS] COMMAND [ARGS]... CLI Application for creating/managing Micropython Projects. Options: --version Show the version and exit. --help Show this message and exit. Commands: init Create new Micropython Project install Install Project Requirements stubs Manage Micropy Stubs
创建项目
创建新的项目文件夹非常简单:
- 执行
micropy init<;项目名称>;
- 选择要使用的模板
- 选择目标设备/固件 Boom .您的工作区已准备就绪。
Micropy项目环境
使用micropy cli创建项目时,会添加两个特殊项:
- a
.micropy/
文件夹 - a
micropy.json
文件
.micropy/
包含从项目到$home/.micropy/stubs
文件夹的符号链接。通过这样做,micropy可以引用项目所需的存根文件,而不是使用指向$home/.micropy
的绝对路径。这对你有什么好处?由于这个特性,您可以随意将常见的设置文件(如settings.json
和.pylint.rc
推送到您的远程git存储库。这样,克隆您的回购协议的其他人可以在其本地环境中实现一个匹配的工作区。
注意:VCS应该忽略生成的.micropy/
文件夹。它是通过micropy.json
文件本地为每个环境创建的。
jsonmicropy.json
文件包含micropy需要的信息,以便在其他克隆您的repo时解析您的项目所需的文件。把它看作de>package.json
用于micropython。
克隆micropy环境
要在本地设置micropy环境,只需:
- 安装micropy cli
- 导航到项目目录
- 执行
micropy
由于micropy的micropy.json
文件,micropy将自动配置和安装项目所需的任何存根。
项目依赖关系
虽然目标micropython固件中包含的所有模块都具有自动完成、intellisense和linting功能,但大多数项目都需要外部依赖。
目前,使用micropython处理依赖关系有点棘手。也许你可以安装一个cpython版本的需求?也许你可以复制粘贴一下?如果需要冷冻怎么办?
micropy自动为您处理所有这些问题。它不仅可以跟踪项目的依赖关系,还可以更新requirements.txt
和dev requirements.txt
,为每个dep启用自动完成/智能感知,并允许您像在设备上一样导入它们。
这允许您根据需要包括您的需求,无论是作为一个冻结模块在您的自定义构建固件中,还是在您的设备上的/lib
文件夹中。
安装软件包
要添加包作为项目的要求,请运行:
micropy安装<;软件包名称>;
在项目的根目录中。
这将自动执行以下操作:
- source
包名
来自pypi、作为url或本地路径 - 检索模块/包并将其存根,然后将其添加到本地
.micropy
文件夹中。 - 向
micropy.json添加需求
- 更新
requirements.txt
- 更新
要安装设备上不需要但本地开发需要的开发包,请添加--dev
标志。这将执行上述所有操作,除了将要求存根。
您还可以通过执行micropy install
而不传递任何包来安装micropy.json
/requirements.txt
/dev requirements.txt
中的所有需求。Micropy将在设置现有Micropy项目的本地环境时自动执行此操作。
示例
假设您的新项目将依赖于picoweb和blynklib。另外,您还希望使用rshell直接与设备通信。通过micropy init
创建项目后,您可以按如下方式安装需求:
现在,您或任何克隆您的项目的人都可以正常导入这些需求,并享受micropy带来的所有功能的好处:
存根管理
存根文件是micropy允许诸如linting、intellisense和autocompletion等功能工作的神奇之处。要使用micropycli获得最佳结果,首先为项目使用的设备/固件添加适当的存根是很重要的。
< Buff行情>注意:在micropy项目中工作时,所有与存根相关的命令也将在活动项目上执行。(即如果在一个项目中然后运行micropy stubs add<;stub name>;,然后检索该stub并将其添加到活动项目中。)
添加存根
在小松树上加树桩是轻而易举的事。只需运行:micropy stubs add<;stub\u name>;
通过采购micropy存根,micropy有几个预先制作好的存根包可供选择。
这些软件包通常使用以下命名模式:
<;设备>;-<;固件>;-<;版本>;
例如,运行micropy stubs add esp32-micropython-1.11.0
将安装以下内容:
- 特定于micropython的存根
- ESP32 Micropython v1.11设备特定存根
- 设备和固件的冻结模块
您可以通过micropy stubs search<;query>;
或者,使用micropy stubs add<;path>;,您可以手动将stub添加到micropy。 有关手动存根生成的信息,请参见josvel/micropython-stuber。
创建存根
使用micropy stub create<;port/ip_address>;,micropycli可以从手头的任何micropython设备自动生成和添加stub。这可以通过USB和WiFi完成。
< Buff行情>注意:对于存根创建,micropy cli还有其他依赖项。
可以通过执行以下命令来安装它们:pip install micropy cli[create_stubs]
查看存根
要列出已安装的存根,只需运行micropy stubs list
要搜索设备的存根,请使用micropy stubs search<;query>;
致谢
微蟒存根
josvell的repo充满了关于micropython与vscode的兼容性等信息。要了解此过程的工作原理,请查看它。
micropy cli和micropy stub依赖micropython stuber生成冻结模块、在pyboard上创建stub等功能。