How to diagnose this, fails on 3.6.3, works on 3.5.2?
Peter Otten
__peter__ at web.de
Wed Jan 24 15:56:22 EST 2018
Chris Green wrote:
> I have a fairly simple little python program to automate starting an
> editor on a wiki page. It works fine on the system where I wrote it
> (xubuntu 16.04, python 3 version 3.5.2) but it comes up with the
> following error on a newer system (xubuntu 17.10, python 3 version
> 3.6.3).
>
> Here is the error:-
>
> chris$ no
> Traceback (most recent call last):
> File "/home/chris/bin/no", line 59, in <module>
> os.execvp("vi", ("", monthFile,))
> File "/usr/lib/python3.6/os.py", line 559, in execvp
> _execvpe(file, args)
> File "/usr/lib/python3.6/os.py", line 594, in _execvpe
> exec_func(fullname, *argrest)
> ValueError: execv() arg 2 first element cannot be empty
>
> Has execvp() become stricter in 3.6.3 or what?
Yes; the relevant issue on the bug tracker seems to be
https://bugs.python.org/issue28732
> ... and here is the program:-
[snip]
A smaller demo is
$ cat demo.py
import os
os.execvp("ls", ("",))
$ python3.5 demo.py
demo.py
$ python3.6 demo.py
Traceback (most recent call last):
File "demo.py", line 2, in <module>
os.execvp("ls", ("",))
File "/usr/local/lib/python3.6/os.py", line 559, in execvp
_execvpe(file, args)
File "/usr/local/lib/python3.6/os.py", line 594, in _execvpe
exec_func(fullname, *argrest)
ValueError: execv() arg 2 first element cannot be empty
More information about the Python-list
mailing list