How to create a shortcut in startmenu using setuptools windows installer

前端 未结 3 2120
说谎
说谎 2021-02-15 23:13

I want to create a start menu or Desktop shortcut for my Python windows installer package. I am trying to follow https://docs.python.org/3.4/distutils/builtdist.html#the-postins

3条回答
  •  闹比i
    闹比i (楼主)
    2021-02-16 00:05

    If you want to confirm whether the script is running or not, you can print to a file instead of the console. Looks like text you print to console in the post-install script won't show up.

    Try this:

    import sys
    from os.path import expanduser, join
    
    pyw_executable = join(sys.prefix, "pythonw.exe")
    shortcut_filename = "L-System Toolsss.lnk"
    working_dir = expanduser(join('~','lsf_files'))
    script_path = join(sys.prefix, "Scripts", "tklsystem-script.py")
    
    if sys.argv[1] == '-install':
        # Log output to a file (for test)
        f = open(r"C:\test.txt",'w')
        print('Creating Shortcut', file=f)
    
        # Get paths to the desktop and start menu
        desktop_path = get_special_folder_path("CSIDL_COMMON_DESKTOPDIRECTORY")
        startmenu_path = get_special_folder_path("CSIDL_COMMON_STARTMENU")
    
        # Create shortcuts.
        for path in [desktop_path, startmenu_path]:
            create_shortcut(pyw_executable,
                        "A program to work with L-System Equations",
                        join(path, shortcut_filename),
                        script_path,
                        working_dir)
    

提交回复
热议问题