gpt4 book ai didi

python - 在setup.py : use a different console_script for Windows and Linux?中

转载 作者:行者123 更新时间:2023-12-01 01:33:56 26 4
gpt4 key购买 nike

我正在开发一个向控制台发送消息的 GUI 程序。大多数情况下,这些消息可以被忽略,因此不需要控制台窗口。 Linux 用户只需选择从 shell session 或窗口管理器启动 app 即可选择显示或不显示消息。 Windows 用户需要运行不同的脚本:app 用于正常的仅 GUI 模式,或 app-with-messages 用于带有命令提示符窗口的 GUI。

entry_points={
# only needed for Windows:
'console_scripts': ['app-with-messages= app.runApp:run'],
# Used on both Linux and Windows:
'gui_scripts': ['app = app.runApp:run']
}

这两个脚本都调用相同的函数。唯一的区别是,在 Windows 上,app 将以 pythonw.exe 启动,而不是 python.exe。我们如何避免让 Linux 用户感到困惑,并且不为他们创建冗余的 app-with-messages 脚本?

最佳答案

如果我正确理解你的问题,你正在尝试改变你的 entry_points取决于正在使用的操作系统。如果是这样,您可以在 setup.py 中包含类似的内容,并指定 setup(entry_points=entry_points) :

import os

entry_points = {'gui_scripts': ['app = app.runApp:run']}

if os.name == "nt":
entry_points.update({'console_scripts': ['app-with-messages= app.runApp:run']})

print(entry_points)
#> {'console_scripts': ['app-with-messages= app.runApp:run'], 'gui_scripts': ['app = app.runApp:run']}

reprexpy package于2018年9月27日创建

import reprexpy
print(reprexpy.SessionInfo())
#> Session info --------------------------------------------------------------------
#> Python: 3.5
#> Platform: Windows-7-6.1.7601-SP1 (64-bit)
#> Date: 2018-09-27
#> Packages ------------------------------------------------------------------------
#> reprexpy==0.1.1

关于python - 在setup.py : use a different console_script for Windows and Linux?中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52545229/

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