Ubuntu下用shebang指定venv运行Python脚本报ModuleNotFoundError如何解决
修复方案
核心问题原因
你写的shebang行格式错误,/home/vojta/Desktop/my_file/venv/bin和python之间多了空格,系统无法正确识别虚拟环境的Python解释器路径。
分步修复操作
- 第一步:修正脚本首行的shebang内容,替换为正确的路径:
#!/home/vojta/Desktop/my_file/venv/bin/python - 第二步:给脚本添加可执行权限,终端执行命令:
chmod +x script.py - 第三步:使用正确的方式运行脚本,直接执行脚本文件即可,不要额外加python命令:
./script.py
注意:如果使用python script.py运行,系统会调用默认的全局Python解释器,直接忽略shebang配置,仍会报缺少依赖的错误
额外排查验证步骤
如果按照上述操作仍报错,可按以下步骤确认:
- 手动激活虚拟环境,确认selenium是否正确安装:
- 终端执行激活命令:
source /home/vojta/Desktop/my_file/venv/bin/activate - 执行命令查看已安装依赖:
pip list | grep selenium - 如果无输出,说明虚拟环境中未安装该依赖,激活状态下执行
pip install selenium即可
- 终端执行激活命令:
- 不想配置shebang的话,也可以直接用虚拟环境Python的完整路径调用脚本,无需激活环境:
/home/vojta/Desktop/my_file/venv/bin/python script.py
内容的提问来源于stack exchange,提问作者vojtam
相关产品推荐
相关产品推荐

