19.1简介
安装 CQL(pip install cql-lang)后,会获得两个命令行工具:
- cql:编译器 / 解释器,提供
run/build/js/runjs/repl等子命令。 - cqlip:包管理器,提供
install/uninstall/list子命令。
cqlip 用于管理 CQL 包,安装后的包会被编译为 Python 模块,并自动加入 cql run 的导入路径,可以直接用中文 导入 语句使用。
bash
$ cqlip --help
# 用法:install / uninstall / list19.2安装包
安装命令为 cqlip install 包名,默认从当前目录查找名为「包名.cql」的文件或「包名/」目录进行安装:
bash
cqlip install 包名 # 从当前目录的「包名.cql」或「包名/」目录安装
cqlip install 包名 --source 路径 # 从指定文件或目录安装- 包名不带
.cql后缀,cqlip会自动匹配「包名.cql」单文件或「包名/」目录。 - 包不在当前目录时,用
--source 路径指定文件或目录的位置。
提示:安装完成后会自动编译全部
.cql,无需手动构建。19.3卸载与查看
卸载与查看已安装的包:
bash
cqlip uninstall 包名 # 卸载已安装的包
cqlip list # 列出所有已安装的包cqlip list 会输出当前已安装的包名列表,方便确认安装结果。
19.4存储结构
所有包都存放在用户主目录下的 ~/.cql 目录中,分为源码区与缓存区:
- 源码:
~/.cql/packages/包名/,保存安装时的原始.cql源码。 - 编译产物:
~/.cql/cache/包名/,保存编译生成的.py文件,保持相对路径(即目录结构与源码一致)。
目录结构
~/.cql/
├── packages/包名/ # 安装的 .cql 源码
└── cache/包名/ # 自动编译的 .py 产物,保持相对路径安装完成后,cqlip 会自动把包内的全部 .cql 文件编译到 cache 目录,因此导入时可以直接使用编译好的 Python 模块。
19.5自动导入
cql run 执行 .cql 源码时,会自动将 ~/.cql/cache 加入 sys.path。也就是说,安装好的包无需任何额外配置,直接中文 导入 即可使用:
cql
# 假设已通过 cqlip install 安装了名为「工具集」的包
导入 工具集
工具集.打印问候()
打印("自动导入成功")安装、编译、导入整条链路都是自动的:cqlip install 负责放入源码并编译,cql run 负责把编译产物目录加入导入路径,使用者只需要写 导入 包名 一行。
注意:自动导入仅对
cql run 生效;若在普通 Python 中运行,需要自行把 ~/.cql/cache 加入 sys.path。