如何解决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 mnelab
或 pip install .
(在源目录中)。如果我在源目录中使用 pip install -e .
一切正常,但这不是一个选项,因为我希望它在从 PyPI 安装时工作。
此外,使用 console_scripts
入口点代替 gui_scripts
也可以,但这意味着在 MNELAB 运行时控制台窗口需要保持打开状态,这并不理想。
可在此处找到该应用的所有来源:https://github.com/cbrnr/mnelab(问题 #153)。
总结一下,以下是重现问题的步骤:
- 在 Windows 上,打开 Anaconda 提示符并在新环境中安装所有依赖项:
conda create -n mnelab python=3.9 numpy scipy matplotlib pyqt qtpy
conda activate mnelab
pip install --no-deps mne mnelab
- 输入
mnelab
会出现错误消息。不过输入python -m mnelab
还是可以的。
非常感谢任何帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。