subprocess.Popen does not launch audacity

Thomas Passin list1 at tompassin.net
Fri Jan 10 16:53:14 EST 2025


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')




More information about the Python-list mailing list