You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Geany中指定Python3 Shebang仍使用Python2的问题求助

嘿,我来帮你搞定这个问题!这种情况我在Geany里碰过好多次,核心问题大概率是Geany的默认运行配置没跟上你的shebang设置,咱们一步步来排查解决:

问题原因拆解

虽然你已经在代码里加了Python3的shebang,但Geany默认情况下并不会自动优先遵循shebang——它有自己预设的运行命令,这是最常见的触发原因。当然也可以快速确认下shebang的路径是否绝对正确,避免踩小坑。

具体解决办法

方法1:直接修改Geany的Python运行命令(最省心)

这是最快让Geany默认用Python3的方式:

  • 打开Geany,点击顶部菜单栏的 Build -> Set Build Commands
  • 在弹出的窗口左侧找到 Python 分类
  • 看右侧的 Execute 命令,默认大概率是 python "%f",把它改成 python3 "%f",或者直接用你终端查到的Python3完整路径(比如/usr/bin/python3 "%f")
  • 点击 OK 保存,重新运行程序就能看到效果了

方法2:确认shebang行绝对正确

虽然你说用了完整路径,但还是可以快速验证下:

  • 打开终端输入 which python3,得到的就是Python3的正确完整路径(比如/usr/bin/python3)
  • 把代码第一行的shebang改成 #!/usr/bin/python3(替换成你查到的路径)
  • 重点注意:这个shebang必须是文件的第一行,前面不能有任何空行、注释或者空格

方法3:让Geany完全尊重shebang(灵活适配多版本)

如果你想让Geany直接通过shebang来选择解释器,不用每次改配置,可以这样设置:

  • 同样打开 Build -> Set Build Commands
  • 把Python的Execute命令改成下面其中一种:
    • bash "%f":让bash来执行脚本,bash会自动识别shebang并调用对应解释器
    • chmod +x "%f" && "%f":先给脚本添加执行权限,然后直接运行脚本,系统会根据shebang选对应解释器
  • 这种方法的好处是,以后你切换脚本的Python版本,只要改shebang就行,不用再动Geany的配置
快速验证小技巧

你可以在代码里加一行测试代码,直接看当前用的是哪个解释器:

import sys
print(sys.executable)

运行后会打印出解释器的完整路径,一目了然问题是否解决。

内容的提问来源于stack exchange,提问作者Torsten_K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:13:23