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


--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to