windows上python应用程序的启动器

windows上python应用程序的启动器,python,windows,launcher,Python,Windows,Launcher,目前,我正在使用一个批处理文件(如下面的文件)在windows上启动一个python应用程序 @echo off pushd .. call .venv\Scripts\activate.bat set PYTHONPATH=%cd% python -tt src/myapp.py 这将激活virtualenv,然后启动应用程序。这不是很优雅,因为它会打开一个CMD-窗口,而我无法创建应用程序图标 有什么更好的方法可以使它更像一个单一的应用程序?如果您对一个非常简单的解决方案感到满意,请尝试以

目前,我正在使用一个批处理文件(如下面的文件)在windows上启动一个python应用程序

@echo off
pushd ..
call .venv\Scripts\activate.bat
set PYTHONPATH=%cd%
python -tt src/myapp.py
这将激活
virtualenv
,然后启动应用程序。这不是很优雅,因为它会打开一个
CMD
-窗口,而我无法创建应用程序图标


有什么更好的方法可以使它更像一个单一的应用程序?

如果您对一个非常简单的解决方案感到满意,请尝试以下方法:

使用以下代码创建文件“start_my_app.vbs”(它是Visual Basic脚本):

Dim objShell
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "pythonw.exe my_app.py"
Set objShell = Nothing

只需在python文件之前更新上面的代码,以获取需要运行的任何内容(virtualenv等)。但是,不能更改vbs文件的图标。但是,当您创建此vbs文件的快捷方式时,您可以非常轻松地更改快捷方式的图标(右键单击-属性-更改图标…。

如果您对非常简单的解决方案感到满意,请尝试以下操作:

使用以下代码创建文件“start_my_app.vbs”(它是Visual Basic脚本):

Dim objShell
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "pythonw.exe my_app.py"
Set objShell = Nothing

只需在python文件之前更新上面的代码,以获取需要运行的任何内容(virtualenv等)。但是,不能更改vbs文件的图标。但是,当您创建此vbs文件的快捷方式时,您可以非常轻松地更改快捷方式的图标(右键单击-属性-更改图标…。

直接用Python编写它?使用subprocess.call之类的工具?您至少可以通过使用
pythonw
而不是上一次使用
python
来避免出现
CMD
窗口line@codedstructure这不会影响行为,因为批处理文件会显示命令提示符。@Nil这是否也适用于virtualenv?它适用于您可以执行的所有操作如果使用shell=True参数,则在命令行上。或者在没有代码的情况下仍然可以处理很多事情。直接用Python编写代码?使用subprocess.call之类的工具?您至少可以通过使用
pythonw
而不是上一次使用
python
来避免出现
CMD
窗口line@codedstructure这不会影响行为,因为批处理文件会显示命令提示符。@Nil这是否也适用于virtualenv?它适用于您可以执行的所有操作如果使用shell=True参数,则在命令行上。或者在没有工作的情况下仍然为很多事情工作。