【发布时间】:2016-05-13 20:43:09
【问题描述】:
我有一个使用 Cygwin 运行的 python 脚本,我想在 Windows 桌面上创建一个可单击的图标,该图标可以在不打开 Cygwin 并手动输入命令的情况下运行该脚本。我该怎么做?
【问题讨论】:
-
安装Python for Windows,也许吧。
标签: python windows bash cygwin
我有一个使用 Cygwin 运行的 python 脚本,我想在 Windows 桌面上创建一个可单击的图标,该图标可以在不打开 Cygwin 并手动输入命令的情况下运行该脚本。我该怎么做?
【问题讨论】:
标签: python windows bash cygwin
最简单的解决方案是创建batch file,其中包含如下命令:
c:\python27\python.exe c:\somescript.py
使用此解决方案,您必须安装 python 解释器。如果您需要更便携的解决方案,您可以尝试例如py2exe 并将 python 脚本打包成可执行文件,无需安装 Python 即可运行。
【讨论】:
这直接来自 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" %*
【讨论】:
作为py2exe 的替代方案,您可以使用带有onefile 标志的pyinstaller 包。这是一个适用于 python 3.x 的解决方案。
通过 pip 安装 pyinstaller
使用onefile 标志将您的文件打包为单个exe
pyinstaller --onefile your_file.py
【讨论】:
This tutorial 展示了如何创建一个运行 python 脚本的批处理文件。
请注意,许多其他答案已过时 - py2exe 在 python 3.4 之后不再支持。更多信息here。
【讨论】:
更好的方法(在我看来):
创建快捷方式:
将目标设置为
%systemroot%\System32\cmd.exe /c "python C:\Users\MyUsername\Documents\MyScript.py"
开始于:
C:\Users\MyUsername\Documents\
显然更改脚本所在位置的路径。如果有空格,可能需要添加转义引号。
【讨论】:
对我来说就像一个魅力的解决方案 > 来自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"
现在我的脚本可以在任务栏上执行
【讨论】: