Small problem executing python script as shortcut
Larry Bates
larry.bates at websafe.com
Thu Feb 7 16:53:05 EST 2008
Jorgen Bodde wrote:
> Hi all,
>
> This is slightly OT but it drives me nuts. Whenever I create a
> shortcut in the start menu (in Windows) of a python script, it will
> only execute it when the path where the script resides in contains no
> spaces. For example;
>
> d:\src\app\app.py
>
> If I drag that to the Start Menu it can be executed fine.
>
> Whenever I distribute my app and the path will become:
>
> "c:\program files\app\app.py"
>
> Windows will make spaces itself inside the shortcut so I guess it
> realizes that it needs to execute the full string but probably
> somewhere when resolving the app to execute the script with, the
> double quotes get lost and the python interpreter (I use ActiveState
> as my Python bundle) will only see "c:\program" as the first part and
> doesn't pick up the latter.
>
> I know I can write a batch script that runs the python script, but
> since it is a wxPython app, I want to launch a *.pyw to suppress the
> dos box. However as it seems now there is no way to create a shortcut
> under windows to launch a python script when the directory contains
> spaces in the name.
>
> Does anyone know a solution? I would like to distribute my app both
> with py2exe (no problems there) but also as source only version so
> people can adjust the code if they wish.
>
> Regards,
> - Jorgen
Sure there is. Just put double quotes around the entire Target and Start in
entries in the shortcut.
Example:
Target: "C:\Program Files\WebSafe\WStools\WSsend.exe"
Start in: "C:\Program Files\WebSafe\WStools\"
Suggestions:
1) Download Inno Installer and wrap your distribution into a proper installation
(setup.exe) program. It takes care of all this for you.
2) Take a look at py2exe to bundle your entire application up so that you don't
need python on the machine at all.
Hope info helps.
-Larry
More information about the Python-list
mailing list