返回

os.execv(sys.executable) 使用了错误的 Python 版本

发布时间:2022-07-08 03:55:13 347
# python# 脚本

我想从内部重新启动脚本。但是在 Linux 上会os.execv忽略sys.executable并回退到默认的 python 版本 2.7。

这是一个最小的运行示例:

import os
import sys

print(sys.executable,sys.version)

os.execv(sys.executable,["python"] + sys.argv)

这是的输出python3 main.py(python3指的是默认的python 3 exe):


> /usr/local/bin/python3.8 3.8.0 (default, Jun  1 2022, 16:03:28) [GCC 8.3.0]

> /usr/bin/python 3.8.0 (default, Jun  1 2022, 16:03:28) [GCC 8.3.0]

> ('/usr/bin/python', '2.7.16 (default, Oct 10 2019, 22:02:15) \n[GCC 8.3.0]')

> ('/usr/bin/python', '2.7.16 (default, Oct 10 2019, 22:02:15) \n[GCC 8.3.0]')

> ('/usr/bin/python', '2.7.16 (default, Oct 10 2019, 22:02:15) \n[GCC 8.3.0]')

...

我不太明白什么部分需要改变,什么地方出了问题/我做错了吗。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(1)
按点赞数排序
用户头像