• Re: subprocess.Popen does not launch audacity

    From Tim Johnson@thjmmj15@gmail.com to comp.lang.python on Fri Jan 10 14:21:21 2025
    From Newsgroup: comp.lang.python


    On 1/10/25 12:53, Thomas Passin via Python-list wrote:
    On 1/10/2025 4:00 PM, Tim Johnson via Python-list wrote:

    On 1/10/25 11:32, MRAB via Python-list wrote:
    ,,, snipped

    Below is the pertinent code:

       Popen(choice, stdout=PIPE, stderr=PIPE,
                        stdin=PIPE, close_fds=True)

    My guess is my argument list is either insufficient or an argument is
    causing the problem, but am unsure of which.

    I have been retired from python programming for ten years, and am
    pretty
    rusty, but it is still fun. There are plenty

    of other ways to successfully launch audacity but it would be great to >>>> make it work from this script.


    What is the value of 'choice'?

    You could try printing out the value of 'choice' for one that works
    and the one that doesn't and then try them again interactively from
    the Python prompt with the given values. That should eliminate all
    but the essential code for easier debugging.

    choice is /usr/local/bin/audacity, which is the correct path for
    audacity on my system. As far as I can see, that string has no hidden
    bytes.

    Invoking /usr/local/bin/audacity from the command line launches
    audacity and so does choosing  with dmenu_run. which -a audacity
    shows only that item.

    Maybe I need to isolate the function call and start stripping out
    parameters. I should have time to do that later today.

    I don't know why you would want to redirect stdin, etc.  It's a GUI application.

    This worked for me in a Python session on EndeavourOS, python 3.13.1:

    from subprocess import run
    run('/usr/bin/audacity')

    You're right as I suspected. The input files that I am using need a flag
    field to indicate whether the target

    is a gui or terminal app. Removing the pipe parameters gave me audacity
    just fine. Time to roll up my sleeves

    and get to work adding the relevant code. Beats shoveling snow. :)

    Thanks everybody.



    --- Synchronet 3.20a-Linux NewsLink 1.114