op
编写一个小型 go 包装应用程序,如下所示:,但是,我不断收到以下错误:,但是当我从 python 脚本中执行相同的操作时,如下所示:,…我得到了很好的输出。,有趣的是,当我从 go 应用程序调用 python 脚本(名为 op.py
)时,它工作正常(修改后的 go 应用程序如下所示):,我可以测试它是由 go 应用程序打印的,而不是由 python 脚本打印的,因为如果我删除 fmt.printf(...)
,则不会打印任何内容。,总结一下:,go -> op
:不起作用python(
./op.py
)-> op
:工作正常go -> python (
./op.py
) -> op
:工作正常,我从 pyenv
虚拟环境访问 op
时遇到同样的问题。我认为问题是 pyenv 的 python
可执行文件由用户(我)拥有。将所有权更改为 root:python 解释器及其所在目录的 root 实际上有所帮助。不确定幕后发生了什么。,以下是步骤(我使用
--copies
创建虚拟环境,因此它不使用符号链接 – 因为符号链接会指向根拥有的文件):,底线:将生成 op
子进程的可执行文件(及其所在目录)的所有权更改为 root:root
,另请参阅 1password 上的此帖子,该帖子看起来与同一问题相同:,https://1password.community/discussion /135768/从-a-go-程序调用-cli-,