Skip to content

安装 Code CIN ​

Code CIN 以 pip 包作为唯一发行形式: 包内自带 41 个内置标准库(codecin/lib/<name>/src/<name>.cin,每个库一个 pic 包), Python 侧提供唯一命令行入口 codecin, 负责编译前端与程序装载; 语言实现 (Go 编译器 / 字节码引擎 / CROM / AOT 运行时) 以 c-shared 原生库的形式随包加载 —— 原生库是运行必需组件, 缺失时程序会直接抛 CPUSimulatorError, 没有解释器回退。

环境要求 ​

组件版本必需用途
Python3.8+是CLI 外壳、编译前端、程序装载与结果回传、工具链
rich13 – 14 (自动安装)是终端彩色输出、表格、面板、彩色 traceback
Go1.26+是构建原生引擎库 (缺失时运行程序会报 CPUSimulatorError)
C 编译器gcc / clang / MinGW是Go cgo (-buildmode=c-shared) 需要

rich 是唯一的第三方运行时依赖, pip 会自动装上。没有 Go/cgo 工具链时安装本身 也能完成, 但运行任何程序前都必须先补齐原生库: 下载预编译库放进包目录, 或在 源码树 codecin/native/ 下执行 build.ps1 (Windows) / build.sh (Linux/Termux/macOS)。

下载发布文件 (动态) ​

下面列出的是最新发布里可下载的文件 (实时取自 GitHub Releases), 适合离线安装或直接用二进制:

正在获取最新发布…

需要历史版本或某个具体平台的文件? 见 全部 Releases 与 更新日志。

安装方式 ​

bash
pip install codecin

发行版是 sdist (源码分发包), 因此 pip 在安装阶段会调用 setup.py 的 build_py 钩子, 用本机的 Go 工具链现场编译原生库, 并把产物单独拷进安装目录 —— 装完即带原生加速。

bash
codecin --version     # 打印当前版本

验证安装 ​

bash
# 1) 版本
codecin --version
# 打印当前版本 (形如 Code CIN x.y.z)

# 2) 原生库是否加载成功 (输出非 None 即成功)
python -c "from codecin import native; print(native.get_engine())"

# 3) 原生库版本与包版本是否匹配
codecin --build-info
# 查看 native 字段与包版本是否 matches

# 4) 内置标准库是否随包分发 (应列出 41 个 .cin)
python -c "import codecin,os,glob;print(len(glob.glob(os.path.join(os.path.dirname(codecin.__file__),'lib','*','src','*.cin'))))"

# 5) 跑一个最小程序
codecin --log-level ERROR hello.cin

# 6) 可选: 检查 cincc 原生编译器 (仅供 --native)
codecin/native/cincc -h

最小验证程序 hello.cin:

cin
function main() -> int {
    println("Hello, Code CIN!")
    return 0
}
text
Hello, Code CIN!

原生库是运行必需组件

get_engine() 返回 None 时不要继续运行程序: 缺少原生引擎库会直接抛 CPUSimulatorError 并附重建指引。处理办法: 装好 Go 1.26+ 后重新 pip install, 下载预编译库放进包目录, 或在源码树 codecin/native/ 下执行 build.ps1 / build.sh。 装好后用 codecin --build-info 核对 native 版本与包版本是否匹配。

升级与卸载 ​

bash
pip install -U codecin            # 升级到最新版
pip install codecin               # 首次安装
pip uninstall codecin             # 卸载
pip cache purge                   # 需要时可清理 wheel/sdist 缓存

版本号的唯一真源是 codecin/__init__.py 的 __version__, 打包时由 pyproject.toml 的 dynamic = ["version"] 读取, 详见 打包与发布。

安装排错 ​

现象原因处理
安装日志出现 setup.py 编译警告, 但安装成功本机没有 Go/cgo 工具链, 原生库没编出来运行前需补齐: 装 Go 1.26+ 重装, 或下载预编译库, 或源码树 build.ps1 / build.sh 重建
运行报 CPUSimulatorError (原生库缺失)包目录下没有可用的原生引擎库同上; 重建后用 codecin --build-info 核对 native 与包版本匹配
ImportError: DLL load failed / cannot open shared object file原生库依赖的系统 C 运行时缺失 (如 Windows 缺 MinGW 运行库)安装缺失的系统运行库, 或改装对应平台的预编译库
get_engine() 返回 None库的架构/ABI 与当前解释器不符换成对应平台的资产; 运行程序会因缺少原生库而失败
import "math.cin" 报 Import file not found装到了不含内置标准库的旧版本pip install -U codecin 后重试
codecin: command not found脚本目录不在 PATH用 python -m codecin.cli 或 codecin 运行, 或把 Scripts/bin 加进 PATH
想核对原生库版本是否与包版本一致—codecin --build-info, 看 native 版本是否 matches

下一步 ​

文档由 VitePress 构建