Windows10下Python3.10通过subprocess调用脚本遇selenium找不到问题求助
问题解决方法
你的问题核心是subprocess调用时用的Python解释器和直接运行脚本时的不一致,导致找不到已安装的selenium模块,以下是几种解决办法:
使用Python解释器的绝对路径
找到你Python3.10的安装路径(比如C:\Python310\python.exe),把subprocess调用里的"python3"替换成这个绝对路径,示例代码修改如下:subprocess.call([r"C:\Python310\python.exe", "get_data.py"])(路径根据你实际安装位置调整,前缀的
r是避免转义字符问题)替换
python3为python
Windows系统中默认用python命令指向当前环境的Python解释器,而python3可能未配置环境变量,修改代码:subprocess.call(["python", "get_data.py"])检查虚拟环境(如果使用了)
如果你是在虚拟环境中开发,subprocess需要调用虚拟环境内的Python解释器,路径一般是你的项目目录\venv\Scripts\python.exe,替换成这个路径即可。验证解释器一致性
在get_data.py开头添加一行代码:import sys print(sys.executable)直接运行该脚本,记下打印的路径;再在主脚本中打印当前解释器路径(同样用
sys.executable),对比两者是否一致。如果不一致,说明subprocess调用的是另一个Python环境,用正确的路径替换即可。
内容的提问来源于stack exchange,提问作者Sigmar
相关产品推荐
相关产品推荐

