服务器Task Scheduler无法运行Python脚本及psycopg2模块报错求助
解决方法
1. 强制使用虚拟环境的Python解释器
手动运行和Task Scheduler都必须指定虚拟环境内的Python路径,而非系统默认Python:
- 手动cmd运行时,先激活虚拟环境再执行脚本:
D:\EAR_script\.venv\Scripts\activate.bat python D:\EAR_script\EAR_script.py - Task Scheduler配置:
- 动作→程序/脚本:填入
D:\EAR_script\.venv\Scripts\python.exe - 添加参数:填入
"D:\EAR_script\EAR_script.py"(注意检查脚本文件名是否遗漏.py后缀,报错中路径为D:\EAR_script\EAR_script,需确认实际文件名) - 起始于:填入
D:\EAR_script\
- 动作→程序/脚本:填入
2. 重新安装适配的psycopg2版本
psycopg2._psycopg是编译后的二进制模块,大概率存在环境不兼容或文件损坏问题:
- 激活虚拟环境后执行卸载:
pip uninstall psycopg2 -y - 安装预编译的兼容版本(推荐用
psycopg2-binary跳过本地编译步骤):pip install psycopg2-binary
3. 验证环境架构匹配
检查虚拟环境的Python架构与系统是否一致:
运行以下命令:
python -c "import sys; print('64位' if sys.maxsize > 2**32 else '32位')"
若架构不匹配,需重新创建对应架构的虚拟环境后再安装psycopg2-binary。
4. 调整Task Scheduler权限配置
- 任务属性→常规:勾选“不管用户是否登录都要运行”,并选择“使用最高权限运行”
- 确认运行任务的用户对脚本目录、虚拟环境目录拥有读写权限
内容的提问来源于stack exchange,提问作者user19086677
相关产品推荐
相关产品推荐

