Run Python script without Windows console appearing

Viewed 111747

Is there any way to run a Python script in Windows XP without a command shell momentarily appearing? I often need to automate WordPerfect (for work) with Python, and even if my script has no output, if I execute it from without WP an empty shell still pops up for a second before disappearing. Is there any way to prevent this? Some kind of output redirection perhaps?

10 Answers

This will work on all Windows Versions:

1. Create "Runner.bat" file with Notepad (or any other text editor) and insert following content:

@echo off
python server.py

where server.py is the path of the Python script you want to run.

2. Create "RunScript.vbs" file with Notepad and insert following content:

CreateObject("Wscript.Shell").Run "runner.bat",0,True

3. Run the "RunScript.vbs" file with double click and your Python script will be runnig without any visible console windows

p.s. I know that this was not part of your question but it is often the case, if you want to run the script on windows start (after user login) just paste the shortcut of "RunScript.vbs" file into your startup folder. (On Windows 10 mostly under: C:\Users[USERNAME]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup )

Best regards

Quite easy in Win10:
Open a PowerShell and type this commands:

type nul > openWindowed.vbs
type nul > main.py
notepad openWindowed.vbs

Paste the next into your openWindowed.vbs file:

Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run chr(34) & "C:\Users\path\to\main.py" & Chr(34), 0
Set WshShell = Nothing

The .vbs file will execute your main.py file without open a cmd. I use this a lot to the make.py files, because I don't know cmake scripting.

Change the file extension to .pyw and add the following line (changed accordingly to your python version) to the beginning of your script:

#! c:\\Users\\sohra\\AppData\\Local\\Programs\\Python\\Python38\\pythonw.exe

Now, if you double click on the file, it will be executed by pythonw.exe without the console window.

Turn of your window defender. And install pyinstaller package using pip install pyinstaller .

After installing open cmd and type pyinstaller --onefile --noconsole filename.py

When you install Pyinstaller, you will be able to convert the .py into a .exe. In the settings you can change whether to show or not show the console window that python opened when the file is ran.

There are 2 options in Windows, I think:

  • Option 1

    1. Change the .py file extension to .pyw and replace python.exe with pythonw.exe at its very first line as follows (take care to replace <your_username>\\<your_path_to>):

      #! C:\\Users\\<your_username>\\<your_path_to>\\Scripts\\pythonw.exe
      
    2. Double click on .pyw script file to run it.

    3. Optionally, you can also create a shortcut to .pyw file, to customize its name, icon and keyboard shortcut as final launcher!

  • Option 2

    1. Leave the .py file extension and replace pythonw.exe with python.exe at its very first line as follows (take care to replace <your_username>\\<your_path_to>):

      #! C:\\Users\\<your_username>\\<your_path_to>\\Scripts\\python.exe
      
    2. Use a .vbs (Visual Basic Script) file with the following content as launcher of the .py file (you can use a .vbs file to also launch a .bat file without showing the prompt):

      Set WshShell = CreateObject("WScript.Shell") 
      WshShell.Run "C:\Users\<your_username>\<your_path_to>\Scripts\python.exe C:\Users\<your_username>\<your_path_to>\script.py", 0, True
      Set WshShell = Nothing
      
    3. Double click on .vbs file to run your .py script.

    4. Optionally, you can also create a shortcut to .vbs file, to customize its name, icon and keyboard shortcut as final launcher!

I had the same problem. I tried many options, and all of them failed But I tried this method, and it magically worked!!!!!

So, I had this python file (mod.py) in a folder, I used to run using command prompt When I used to close the cmd the gui is automatically closed.....(SAD), So I run it as follows C:\....>pythonw mod.py Don't forget pythonw "w" is IMP

Related