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