WSL2 Ubuntu下Python 3.10.4引号语法错误问题求助
问题原因及解决办法
核心原因是WSL2 Ubuntu中你实际调用的Python版本低于3.6,而PowerShell环境里调用的是支持f-string语法的Python3版本:
f-string的版本限制
f-string(即f"{prompt} [y/N]"这种格式化写法)是Python 3.6才正式引入的语法特性,Python 2.x以及Python 3.5及更早版本完全不支持该语法,执行时会直接抛出SyntaxError。WSL2 Ubuntu的Python命令指向问题
你虽然安装了Python 3.10.4,但Ubuntu系统默认情况下,python命令通常指向Python 2.x版本(很多Ubuntu发行版会保留Python 2作为默认python)。所以你执行python record_data.py时,实际是用旧版本Python在跑代码,自然会触发语法错误。PowerShell的Python命令指向
而在PowerShell环境中,python命令默认关联的是你安装的Python 3.x版本(比如3.10.4),该版本支持f-string,所以代码能正常运行。
解决办法
- 直接在WSL2 Ubuntu中改用
python3命令执行脚本:python3 record_data.py --browser chrome --num_runs 1 --sites_list google.com --trace_length 5 - 或者将Ubuntu中的
python默认指向Python3,避免每次都要写python3:sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
内容的提问来源于stack exchange,提问作者koezgen
相关产品推荐
相关产品推荐

