自己打包的软件,在 Contents > Macos 里面运行完全正常,但是出来单独运行却有问题,请问有大佬知道怎么解决吗?

2022-12-10 08:05:37 +08:00
 GabrielleBellamy

我仔细看了一下,好像是一个终端命令没法执行,似乎是权限的问题,但我已经把各种权限都打开了,还是没用😢

2185 次点击
所在节点    Python
14 条回复
hackpro
2022-12-10 08:13:25 +08:00
感觉是依赖的问题 看看应用下其他文件夹还有什么库 可能系统自带的不兼容
GabrielleBellamy
2022-12-10 08:44:28 +08:00
@hackpro 好的!谢谢,我再去看看
ccmark
2022-12-10 10:17:31 +08:00
同意 @hackpro 的观点,大概率是依赖的问题不过问类似的问题应该像 github 提 issue 一样,贴点错误信息至少
GabrielleBellamy
2022-12-10 13:34:48 +08:00
@ccmark 谢谢🙏其实这个问题最麻烦的地方就在于,它没有错误信息,但是打包的软件无法实现自己的功能,这点是能够实感观察到的……唉我再检查检查🤔
lr3800
2022-12-11 14:47:12 +08:00
检查你的程序是否依赖于其他库或模块,并确保这些依赖项都已安装。如果你的程序依赖于某些库或模块,在单独运行时可能无法正常工作。

检查你的程序是否依赖于某些其他文件,并确保这些文件都已拷贝到了正确的位置。如果你的程序依赖于某些配置文件或其他数据文件,在单独运行时可能无法正常工作。

检查程序是否需要特定的环境变量或其他系统设置。如果你的程序依赖于某些环境变量或系统设置,在单独运行时可能无法正常工作。
GabrielleBellamy
2022-12-11 19:28:50 +08:00
@lr3800 嗯嗯!谢谢建议!应该就如几位所说,是依赖和环境的问题。已经在系统权限上做了一些努力,虽然不是很有经验,无法说问题的症结具体是什么,但现在已经基本上绕开了出问题的代码,让独立打包的软件实现功能了~🙏
julyclyde
2022-12-12 09:14:50 +08:00
你那个终端命令是什么呢
steins2628
2022-12-12 10:57:02 +08:00
没解决的话我还会猜一个绝对路径问题,写 Tauri 的时候遇到过,也是进 contents 直接命令行可以,双击就是不行,在 Linux 就会直接报错 Readonly System
原因就是一开始用了相对路径,这在 windows 下是没问题的,但在 Unix 下由于程序安装和运行的不同,不能用相对路径创建文件,只能用存在的绝对路径
GabrielleBellamy
2022-12-12 13:30:57 +08:00
@julyclyde cmd = f'''AdjustVolume -s {x} -n "BlackHole 2ch"'''
os.system(cmd)
GabrielleBellamy
2022-12-12 13:32:32 +08:00
@steins2628 原来还有这样的事情!收获了很宝贵的经验~谢谢🙏
julyclyde
2022-12-12 14:11:37 +08:00
@GabrielleBellamy 这一句运行了会有什么问题呢
GabrielleBellamy
2022-12-13 01:49:03 +08:00
@julyclyde 啊就是它不起作用。在 Pycharm 里面有用,但是打包出来运行的时候没效果。
julyclyde
2022-12-13 08:30:04 +08:00
@GabrielleBellamy 正常情况会有什么输出信息吗?
GabrielleBellamy
2022-12-13 15:11:35 +08:00
@julyclyde 正常的话会调整音量的大小,不会输出什么信息。我猜大概是权限的问题,打包的程序可以执行 Apple Script 但是无法直接执行命令。我后来把命令套在了 Apple Script 里面,就可以了。算是一个解决方案吧,尽管最核心的东西没有解决。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/901474

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX