【问题标题】:Windows: run python command from clickable iconWindows:从可点击的图标运行 python 命令
【发布时间】:2016-05-13 20:43:09
【问题描述】:

我有一个使用 Cygwin 运行的 python 脚本,我想在 Windows 桌面上创建一个可单击的图标,该图标可以在不打开 Cygwin 并手动输入命令的情况下运行该脚本。我该怎么做?

【问题讨论】:

标签: python windows bash cygwin


【解决方案1】:

最简单的解决方案是创建batch file,其中包含如下命令:

c:\python27\python.exe c:\somescript.py

使用此解决方案,您必须安装 python 解释器。如果您需要更便携的解决方案,您可以尝试例如py2exe 并将 python 脚本打包成可执行文件,无需安装 Python 即可运行。

【讨论】:

    【解决方案2】:

    这直接来自 Python 文档 (https://docs.python.org/3.3/using/windows.html):

    3.3.5。在没有 Python 启动器的情况下执行脚本

    如果没有安装 Python 启动器,Python 脚本(扩展名为 .py 的文件)将默认由 python.exe 执行。这个可执行文件会打开一个终端,即使程序使用 GUI,它也会保持打开状态。如果您不希望发生这种情况,请使用扩展名 .pyw,这将导致脚本默认由 pythonw.exe 执行(两个可执行文件都位于 Python 安装目录的顶层)。这会在启动时抑制终端窗口。

    您还可以使用 pythonw.exe 执行所有 .py 脚本,通过常用工具进行设置,例如(可能需要管理权限):

    启动命令提示符。

    将正确的文件组与 .py 脚本相关联:

    assoc .py=Python.File
    

    将所有 Python 文件重定向到新的可执行文件:

    ftype Python.File=C:\Path\to\pythonw.exe "%1" %*
    

    【讨论】:

    • 在 Windows 快捷方式中使用 pythonw.exe 对我来说非常有效,允许脚本在没有 CMD 窗口的情况下运行。完美!
    【解决方案3】:

    作为py2exe 的替代方案,您可以使用带有onefile 标志的pyinstaller 包。这是一个适用于 python 3.x 的解决方案。

    1. 通过 pip 安装 pyinstaller

    2. 使用onefile 标志将您的文件打包为单个exe

    pyinstaller --onefile your_file.py
    
    

    【讨论】:

      【解决方案4】:

      This tutorial 展示了如何创建一个运行 python 脚本的批处理文件。

      请注意,许多其他答案已过时 - py2exe 在 python 3.4 之后不再支持。更多信息here

      【讨论】:

        【解决方案5】:

        更好的方法(在我看来):

        创建快捷方式:

        将目标设置为 %systemroot%\System32\cmd.exe /c "python C:\Users\MyUsername\Documents\MyScript.py"

        开始于: C:\Users\MyUsername\Documents\

        显然更改脚本所在位置的路径。如果有空格,可能需要添加转义引号。

        【讨论】:

          【解决方案6】:

          对我来说就像一个魅力的解决方案 > 来自https://www.tutorialexample.com/convert-python-script-to-exe-using-auto-py-to-exe-library-python-tutorial/

          pip install auto-py-to-exe

          只需键入以下内容即可使用 GUI:

          auto-py-to-exe

          然后,我使用此命令生成所需的输出:

          pyinstaller --noconfirm --onedir --windowed --icon "path/favicon.ico" "path/your_python_script"

          现在我的脚本可以在任务栏上执行

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-03-14
            • 2013-07-06
            • 1970-01-01
            • 1970-01-01
            • 2019-12-06
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多