gpt4 book ai didi

python - 为什么运行 python 可执行文件后终端为空白?

转载 作者:太空宇宙 更新时间:2023-11-04 09:00:55 28 4
gpt4 key购买 nike

我在 python 脚本 (#!/usr/bin/python) 的开头添加了 hashbang 行,并通过 chmod + 赋予它可执行权限x file.py 命令,但点击模块运行后,弹出终端却一片空白。

是否与 python 解释器可能不在指定路径中有关?

最佳答案

这似乎不是有效的 shebang

尝试#!/usr/bin/python

(注意井号后的感叹号。)

根据 OP 的评论进行编辑:

因此,根据您关于单击文件管理器中的图标和平台为 LXDE 的评论,看起来在该用例中它最终调用了 g_app_info_create_from_commandline 来自 GAppInfo 的函数库,它似乎是用于存储“应用程序信息和启动上下文”的整个层。

在此之前,它最终将 G_APP_INFO_CREATE_NEEDS_TERMINAL 标志按位或运算到 flags 字段,然后传递给 fm_app_info_create_from_commandline fm-file-launcher.c code .

因此,看起来双击文件在最终在终端中运行它之前做了很多额外的事情,而且看起来这些额外的东西(额外的上下文,通过其他库和层抽象出来,等等) .) 是导致问题的原因。

如果该功能真的应该真正“正常”地在终端中启动东西,那么我会将其视为 fm-file-launcher.c 代码或 中的错误em>GAppInfo 代码本身。

我不确定开发人员是否一定会同意——这将取决于引擎盖下究竟发生了什么以及他们对该功能的确切意图。如果您真的希望能够做到这一点(我不确定我是否真的比直接在终端窗口中使用 ./file.py 方法获益),我建议提交一个针对 fm-file-launcher.c 代码的错误。那是 libfm 项目的一部分,根据他们的 forum,他们似乎不通过他们的 github 页面跟踪问题,而是通过他们的 SourceForge 页面跟踪问题。 .

简而言之,双击文件管理器中的图标并选择在终端中启动它与实际在终端中启动它是非常非常不同的事情,即使前者本质上是为了像后者。

作为旁注,我尝试在 Nautilus(我使用 Ubuntu)中执行此操作,它在该用例中的行为只是自动假定它是一个文本文件而不是可执行文件并将其加载到我的默认文本编辑器中。

关于python - 为什么运行 python 可执行文件后终端为空白?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25540278/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com