subprocess.Popen does not launch audacity
Tim Johnson
thjmmj15 at gmail.com
Fri Jan 10 18:21:21 EST 2025
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.
>
>
More information about the Python-list
mailing list