安装 Code CIN
Code CIN 以 pip 包作为唯一发行形式: 包内自带 41 个内置标准库(codecin/lib/<name>/src/<name>.cin,每个库一个 pic 包), Python 侧提供唯一命令行入口 codecin, 负责编译前端与程序装载; 语言实现 (Go 编译器 / 字节码引擎 / CROM / AOT 运行时) 以 c-shared 原生库的形式随包加载 —— 原生库是运行必需组件, 缺失时程序会直接抛 CPUSimulatorError, 没有解释器回退。
环境要求
| 组件 | 版本 | 必需 | 用途 |
|---|---|---|---|
| Python | 3.8+ | 是 | CLI 外壳、编译前端、程序装载与结果回传、工具链 |
| rich | 13 – 14 (自动安装) | 是 | 终端彩色输出、表格、面板、彩色 traceback |
| Go | 1.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 与 更新日志。
安装方式
pip install codecin发行版是 sdist (源码分发包), 因此 pip 在安装阶段会调用 setup.py 的 build_py 钩子, 用本机的 Go 工具链现场编译原生库, 并把产物单独拷进安装目录 —— 装完即带原生加速。
codecin --version # 打印当前版本验证安装
# 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:
function main() -> int {
println("Hello, Code CIN!")
return 0
}Hello, Code CIN!原生库是运行必需组件
get_engine() 返回 None 时不要继续运行程序: 缺少原生引擎库会直接抛 CPUSimulatorError 并附重建指引。处理办法: 装好 Go 1.26+ 后重新 pip install, 下载预编译库放进包目录, 或在源码树 codecin/native/ 下执行 build.ps1 / build.sh。 装好后用 codecin --build-info 核对 native 版本与包版本是否匹配。
升级与卸载
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 |
下一步
- 快速开始 — 五分钟写出并运行第一个 CIN 程序
- 命令行参考 — 全部选项与退出码
- 执行路径 —
.sdgcc默认路径与--native机器码路径 - 编译 Go 原生库与 cincc — 源码树下的原生库/编译器构建