Windows7下Python3.7调用subprocess._subprocess报错的解决方法咨询
解决Windows7下Python3.7中subprocess._subprocess不存在的问题
这个问题我之前也碰到过,其实是因为你误用了subprocess模块的内部私有属性——_subprocess是模块内部的实现细节,不同版本/环境下可能不会对外暴露,而且官方也不推荐直接访问这类私有成员。
解决方案
直接使用subprocess模块顶层提供的STARTF_USESHOWWINDOW常量即可,不需要访问内部的_subprocess子模块。
修改后的代码
import os import sqlite3 import subprocess import time import re from django.core.mail import send_mail from django.http import HttpResponse suinfo = subprocess.STARTUPINFO() suinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW # 替换为模块顶层的常量
补充说明
- Python 3.7的subprocess模块已经将
STARTF_USESHOWWINDOW等Windows相关的启动常量直接暴露在模块级别,无需深入内部私有模块调用。 - 如果仍然出现类似错误,请检查是否有同名的
subprocess.py自定义脚本在当前工作目录,导致导入了错误的模块。
内容的提问来源于stack exchange,提问作者Django
相关产品推荐
相关产品推荐

