微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python GUI 入口点不适用于 Windows

如何解决Python GUI 入口点不适用于 Windows

我有一个 Python GUI 应用程序(使用 PyQt5 或 pyside2),我想从命令 mnelab 开始。因此,我在 setup 中的 setup.py 函数调用添加了以下参数:

entry_points={'gui_scripts': ['mnelab=mnelab.__main__:main']}

在 Linux 和 macOS 上,使用 pip 安装软件包会成功创建一个用于启动应用程序的 mnelab 命令。但是,在 Windows 上,我在终端中输入 mnelab 后收到一条错误消息:弹出一个标题为“启动器中的致命错误”的对话框,说“stderr 复制失败”。

相关文件结构:

mnelab/
    __main__.py

文件中包含的函数 main(参见 here)基本上调用_run(参见 here),后者创建了 Qt 应用程序。

有趣的是,这个问题只发生在 pip install mnelabpip install .(在源目录中)。如果我在源目录中使用 pip install -e . 一切正常,但这不是一个选项,因为我希望它在从 PyPI 安装时工作。

此外,使用 console_scripts 入口点代替 gui_scripts 也可以,但这意味着在 MNELAB 运行时控制台窗口需要保持打开状态,这并不理想。

可在此处找到该应用的所有来源:https://github.com/cbrnr/mnelab(问题 #153)。

总结一下,以下是重现问题的步骤:

  1. 在 Windows 上,打开 Anaconda 提示符并在新环境中安装所有依赖项:
    • conda create -n mnelab python=3.9 numpy scipy matplotlib pyqt qtpy
    • conda activate mnelab
    • pip install --no-deps mne mnelab
  2. 输入 mnelab 会出现错误消息。不过输入 python -m mnelab 还是可以的。

非常感谢任何帮助!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。