Geany 环境配置与中文乱码解决参考
-
- 一、基本信息与文件路径
- 二、中文乱码彻底解决(两种不同乱法,别搞混)
-
- [情形 A:编辑区中文显示成方框 □□□□](#情形 A:编辑区中文显示成方框 □□□□)
- [情形 B:打开别人发来的 .py,中文变成乱码 / 问号](#情形 B:打开别人发来的 .py,中文变成乱码 / 问号)
- [三、运行配置(F5 不运行、只生成 `pycache` 的坑)](#三、运行配置(F5 不运行、只生成
__pycache__的坑)) -
- 正确设置
- [工程文件正确写法示例(`zhaoyian.geany` 的 `build-menu` 段)](#工程文件正确写法示例(
zhaoyian.geany的[build-menu]段))
- [四、终端 / 输入输出可见性](#四、终端 / 输入输出可见性)
- [五、Python 环境注意事项(PATH 多版本陷阱)](#五、Python 环境注意事项(PATH 多版本陷阱))
- [六、可直接套用的 geany.conf 关键片段](#六、可直接套用的 geany.conf 关键片段)
- [七、推荐的 user-level filetypes.python(让所有 .py 都正确运行)](#七、推荐的 user-level filetypes.python(让所有 .py 都正确运行))
- 八、常见症状速查表
- 附:本次验证过的事实
适用:光远(安丘)|系统 Windows|Geany 2.1|最后整理 2026-09-15
本文件汇总 Geany(写 Python 教学代码用)的环境设置、关键配置项,以及「中文变方框乱码」「按 F5 不运行只编译」这两类问题的根因与修法。
所有改动都在 Geany 界面里做最稳妥;直接改配置文件可能被运行中的 Geany 退出时覆盖,所以这里同时给出**「界面操作」和「对应配置行」**两套写法。
一、基本信息与文件路径
| 项目 | 路径 / 值 |
|---|---|
| Geany 版本 | 2.1 |
| 安装路径 | D:\Program Files\Geany |
| 用户级主配置 | C:\Users\Administrator\AppData\Roaming\geany\geany.conf |
| 文件类型配置目录 | C:\Users\Administrator\AppData\Roaming\geany\filedefs\ |
| 本项目工程文件 | E:\Python\zhaoyian\zhaoyian.geany |
工程文件里的
[build-menu]会覆盖全局 / 文件类型的运行命令。本项目曾因此把「执行」错配成编译,详见第三节。
执行命令优先级:
工程文件(zhaoyian.geany) > 用户文件类型(filedefs/filetypes.python) > Geany 自带默认
所以在同一项目里改运行命令,必须进工程设置,或在 Geany 内改后让它存回工程。
二、中文乱码彻底解决(两种不同乱法,别搞混)
情形 A:编辑区中文显示成方框 □□□□
如图:
- 现象:代码里的中文是方块,但文件本身没坏、能正常保存。
- 根因 :编辑区字体(
editor_font)不含中文字形 ------ 这是「字体缺字」,不是编码损坏。换带中文的字体立刻正常。 - 界面操作 :
编辑 → 首选项 → 界面 → 编辑器字体→ 选「新宋体 NSimSun」、字号 10(也可用 宋体 SimSun / 微软雅黑 Microsoft YaHei)。 - 对应配置行 (在
geany.conf的[geany]段):
ini
editor_font=NSimSun 10
- 侧栏 / 符号栏字体若也要中文:
tagbar_font=Sans 9(一般不用动)。
情形 B:打开别人发来的 .py,中文变成乱码 / 问号
- 现象:文件能打开,但中文是乱码(通常是被当成 GBK 或错误编码读了)。
- 根因:打开时编码识别错。Geany 没读错文件,是「读的时候用错码表」。
- 界面操作 :菜单
文档 → 重新设置编码 → 选「UTF-8」→ 确定,再文档 → 重新载入。 - 预防 (新建 / 打开默认 UTF-8):
编辑 → 首选项 → 文件
| 设置项 | 建议值 |
|---|---|
| 新建文件编码 | UTF-8 |
| 打开文件时检测编码 | UTF-8(或保持 none 自动探测,但含中文文件建议显式 UTF-8) |
- 对应配置行:
ini
pref_editor_default_new_encoding=UTF-8
pref_editor_default_open_encoding=none
BOM 提醒 :Windows 记事本存的是「UTF-8 带 BOM」,Geany 一般能识别;若遇诡异乱码,先
重新设置编码 → UTF-8 → 重载再判断。
三、运行配置(F5 不运行、只生成 __pycache__ 的坑)
- 典型症状 :按 F5 没任何输出、也不弹「请输入名字」,但目录里多出
__pycache__文件夹。 - 根因 :本项目的「执行 (
EX_00)」命令被错配成:
ini
"D:\Program Files\Python314\python.exe" -m py_compile "%f"
python -m py_compile 只做语法编译检查(产出 .pyc),根本不运行程序,所以你「看着像没反应」。Geany 本身完全能跑 Python。
正确设置
构建(Build) → 设置构建命令(Set Build Commands) → 找到「执行(_E) / Execute」那一行,把命令改成下面任一个:
| 方案 | 命令 | 说明 |
|---|---|---|
| 推荐 | py "%f" |
Windows 官方 Python 启动器,自动挑已装版本,避开 PATH 陷阱 |
| 稳妥 | "D:\Program Files\Python314\python.exe" "%f" |
写死全路径,绝不会命中错误 python |
| 简单 | python "%f" |
依赖 PATH,有踩坑风险 |
- 同时「编译(_C) 」那行保持
python -m py_compile "%f"即可(它本就该是编译检查,别删)。
工程文件正确写法示例(zhaoyian.geany 的 [build-menu] 段)
ini
[build-menu]
FT_00_LB=编译(_C)
FT_00_CM=python -m py_compile "%f"
FT_00_WD=
EX_00_LB=执行(_E)
EX_00_CM=python "%f"
EX_00_WD=
四、终端 / 输入输出可见性
想要 F5 后输出直接显示在 Geany 底部信息窗口、且 input() 能在里面打字:
编辑 → 首选项 → 终端→ 勾选「使用虚拟终端模拟器」(Use virtual terminal emulator)。
若不勾(走外部 cmd),geany.conf 里是:
ini
terminal_cmd=cmd.exe /Q /C %c
其中 /C 表示「运行完立即关闭窗口」,所以程序一结束窗口就消失,表现为「一闪而过、看不到输出」。
| 需求 | 做法 |
|---|---|
| 黑窗停留、方便看输出 | 执行命令改成 cmd /k python "%f"(/k = 运行完不关窗),并取消勾选虚拟终端 |
| 初学者推荐组合 | 勾选虚拟终端 + 执行命令用 py "%f" |
五、Python 环境注意事项(PATH 多版本陷阱)
本机 python 在 PATH 里实际有三个候选(顺序即查找顺序):
| # | 路径 | 说明 |
|---|---|---|
| 1 | C:\Users\Administrator\.workbuddy\binaries\python\versions\3.13.12\python.exe |
管理版 3.13 |
| 2 | D:\Program Files\Python314\python.exe |
系统 3.14 |
| 3 | C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps\python.exe |
⚠️ 微软商店的「占位 stub」,一旦命中会弹应用商店页面,千万别用 |
结论 :Geany 执行命令里,用 py 启动器或写「全路径」最稳,避免裸写 python 不慎命中第 3 个 stub。
- 中文文件名(如
赵一安.py)实测可被 python 正常接收,不是问题点,无需回避中文命名。 - 实测当前系统 git 用的是
C:\Program Files\Git\cmd\git.exe(与 mingw64 无关,莫混为一谈)。
六、可直接套用的 geany.conf 关键片段
写到 C:\Users\Administrator\AppData\Roaming\geany\geany.conf 的 [geany] 段(改前建议备份原文件):
ini
editor_font=NSimSun 10
tagbar_font=Sans 9
msgwin_font=Consolas 9
pref_editor_default_new_encoding=UTF-8
pref_editor_default_open_encoding=none
[tools] 段(黑窗停留请把 /C 改成 /K):
ini
[tools]
terminal_cmd=cmd.exe /Q /C %c
七、推荐的 user-level filetypes.python(让所有 .py 都正确运行)
- 文件位置 :
C:\Users\Administrator\AppData\Roaming\geany\filedefs\filetypes.python - 作用:给所有 Python 文件统一「编译 + 执行」命令,避免每个工程再单独踩坑。
内容可只保留 [build-menu]:
ini
[build-menu]
FT_00_LB=编译(_C)
FT_00_CM=python -m py_compile "%f"
FT_00_WD=
EX_00_LB=执行(_E)
EX_00_CM=py "%f"
EX_00_WD=
注意:若某工程(如本项目的
zhaoyian.geany)自带[build-menu],工程级会覆盖这里的设置。
八、常见症状速查表
| 症状 | 根因 / 修法 |
|---|---|
| 编辑区中文是方框 □□ | 字体缺中文字形 → 编辑器字体改 NSimSun |
| 打开后中文乱码 / 问号 | 编码读错 → 文档 → 重新设置编码 → UTF-8 → 重载 |
F5 无输出、只多 __pycache__ |
执行命令被设成 py_compile → 改回 python "%f" |
| F5 黑窗一闪而过看不见 | 外部终端 /C 关太快 → 勾虚拟终端,或改用 cmd /k |
| 弹出微软商店页面 | PATH 命中 WindowsApps stub → 用 py 或全路径 |
| 底部信息窗中文乱 | 消息窗字体 → msgwin_font 改 NSimSun |
附:本次验证过的事实
- Geany 2.1 安装正常,编辑器本身无任何问题,能写能跑 Python。
- 乱码纯因「编辑器字体不含中文」,换
NSimSun后解决(已生效)。 - 运行问题纯因工程执行命令错配为编译,改回运行命令即恢复。
- 中文文件名、各 Python 版本均验证可用。
配套纯文本版:Geany配置与中文乱码解决参考.txt(同目录)