D:\python\lib\site-packages\win32\lib\pywintypes.py:2: DeprecationWarning:the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
因为python 3.4之后 imp 被弃用 ,因此弹出错误提示,看了很多大神的答案,但还是不知道应该如何修改pywintypes.py?该文件源码如下,请大神帮看看
import imp, sys, os
def import_pywin32_system_module(modname, globs):
if not sys.platform.startswith("win32"):
for ext, mode, ext_type in imp.get_suffixes():
if ext_type==imp.C_EXTENSION:
for path in sys.path:
look = os.path.join(path, "lib" + modname + ext)
if os.path.isfile(look):
mod = imp.load_module(modname, None, look,
(ext, mode, ext_type))
globs.update(mod.__dict__)
return
raise ImportError("No dynamic module " + modname)
for suffix_item in imp.get_suffixes():
if suffix_item[0]=='_d.pyd':
suffix = '_d'
break
else:
suffix = ""
filename = "%s%d%d%s.dll" % \
(modname, sys.version_info[0], sys.version_info[1], suffix)
if hasattr(sys, "frozen"):
for look in sys.path:
if os.path.isfile(look):
look = os.path.dirname(look)
found = os.path.join(look, filename)
if os.path.isfile(found):
break
else:
raise ImportError("Module '%s' isn't in frozen sys.path %s" % (modname, sys.path))
else:
import _win32sysloader
found = _win32sysloader.GetModuleFilename(filename)
if found is None:
found = _win32sysloader.LoadModule(filename)
if found is None:
if os.path.isfile(os.path.join(sys.prefix, filename)):
found = os.path.join(sys.prefix, filename)
if found is None:
if os.path.isfile(os.path.join(os.path.dirname(__file__), filename)):
found = os.path.join(os.path.dirname(__file__), filename)
if found is None:
import distutils.sysconfig
maybe = os.path.join(distutils.sysconfig.get_python_lib(plat_specific=1),
"pywin32_system32", filename)
if os.path.isfile(maybe):
found = maybe
if found is None:
raise ImportError("No system module '%s' (%s)" % (modname, filename))
old_mod = sys.modules[modname]
mod = imp.load_dynamic(modname, found)
if sys.version_info < (3,0):
assert sys.modules[modname] is old_mod
assert mod is old_mod
else:
assert sys.modules[modname] is not old_mod
assert sys.modules[modname] is mod
sys.modules[modname] = old_mod
globs.update(mod.__dict__)
import_pywin32_system_module("pywintypes", globals())