成功解决ModuleNotFoundError: No module named engine

举报
一个处女座的程序猿 发表于 2021/03/27 01:25:00 2021/03/27
【摘要】 成功解决ModuleNotFoundError: No module named 'engine'     目录 解决问题 解决思路 解决方法       解决问题 ModuleNotFoundError: No module named 'engine'     解决思路 ...

成功解决ModuleNotFoundError: No module named 'engine'

 

 

目录

解决问题

解决思路

解决方法


 

 

 

解决问题

ModuleNotFoundError: No module named 'engine'

 

 

解决思路

找不到模块错误:没有名为“engine”的模块

 

 

解决方法

相关文章
Py之pyttsx:pyttsx/pyttsx3的简介、安装、使用方法之详细攻略


      def init Found at: pyttsx.__init__
      def init(driverName=None, debug=False):
      '''
       Constructs a new TTS engine instance or reuses the existing instance for
       the driver name.
       @param driverName: Name of the platform specific driver to use. If
       None, selects the default driver for the operating system.
       @type: str
       @param debug: Debugging output enabled or not
       @type debug: bool
       @return: Engine instance
       @rtype: L{engine.Engine}
       '''
      try:
       eng = _activeEngines[driverName]
      except KeyError:
       eng = Engine(driverName, debug)
       _activeEngines[driverName] = eng
      return eng
      class WeakValueDictionary(collections.MutableMapping):
      """Mapping class that references values weakly.
       Entries in the dictionary will be discarded when no strong
       reference to the value exists anymore
       """
      # We inherit the constructor without worrying about the input
      # dictionary; since it uses our .update() method, we get the right
      # checks (if the other dictionary is a WeakValueDictionary,
      # objects are unwrapped on the way out, and we always wrap on the
      # way in).
      def __init__(*args, **kw):
      if not args:
      raise TypeError("descriptor '__init__' of 'WeakValueDictionary' "
      "object needs an argument")
       self, *args = args
      if len(args) > 1:
      raise TypeError('expected at most 1 arguments, got %d' % len(args))
      def remove(wr, selfref=ref(self), _atomic_removal=_remove_dead_weakref):
       self = selfref()
      if self is not None:
      if self._iterating:
       self._pending_removals.append(wr.key)
      else:
      # Atomic removal is necessary since this function
      # can be called asynchronously by the GC
       _atomic_removal(d, wr.key)
       self._remove = remove
      # A list of keys to be removed
       self._pending_removals = []
       self._iterating = set()
       self.data = d = {}
       self.update(*args, **kw)
      def _commit_removals(self):
       l = self._pending_removals
       d = self.data
      # We shouldn't encounter any KeyError, because this method should
      # always be called *before* mutating the dict.
      while l:
       key = l.pop()
       _remove_dead_weakref(d, key)
      def __getitem__(self, key):
      if self._pending_removals:
       self._commit_removals()
       o = self.data[key]()
      if o is None:
      raise KeyError(key)
      else:
      return o
      def __delitem__(self, key):
      if self._pending_removals:
       self._commit_removals()
      del self.data[key]
      def __len__(self):
      if self._pending_removals:
       self._commit_removals()
      return len(self.data)
      def __contains__(self, key):
      if self._pending_removals:
       self._commit_removals()
      try:
       o = self.data[key]()
      except KeyError:
      return False
      return o is not None
      def __repr__(self):
      return "<%s at %#x>" % (self.__class__.__name__, id(self))
      def __setitem__(self, key, value):
      if self._pending_removals:
       self._commit_removals()
       self.data[key] = KeyedRef(value, self._remove, key)
      def copy(self):
      if self._pending_removals:
       self._commit_removals()
       new = WeakValueDictionary()
      for key, wr in self.data.items():
       o = wr()
      if o is not None:
       new[key] = o
      return new
       __copy__ = copy
      def __deepcopy__(self, memo):
      from copy import deepcopy
      if self._pending_removals:
       self._commit_removals()
       new = self.__class__()
      for key, wr in self.data.items():
       o = wr()
      if o is not None:
       new[deepcopy(key, memo)] = o
      return new
      def get(self, key, default=None):
      if self._pending_removals:
       self._commit_removals()
      try:
       wr = self.data[key]
      except KeyError:
      return default
      else:
       o = wr()
      if o is None:
      # This should only happen
      return default
      else:
      return o
      def items(self):
      if self._pending_removals:
       self._commit_removals()
      with _IterationGuard(self):
      for k, wr in self.data.items():
       v = wr()
      if v is not None:
      yield k, v
      def keys(self):
      if self._pending_removals:
       self._commit_removals()
      with _IterationGuard(self):
      for k, wr in self.data.items():
      if wr() is not None:
      yield k
       __iter__ = keys
      def itervaluerefs(self):
      """Return an iterator that yields the weak references to the values.
       The references are not guaranteed to be 'live' at the time
       they are used, so the result of calling the references needs
       to be checked before being used. This can be used to avoid
       creating references that will cause the garbage collector to
       keep the values around longer than needed.
       """
      if self._pending_removals:
       self._commit_removals()
      with _IterationGuard(self):
      yield from self.data.values()
      def values(self):
      if self._pending_removals:
       self._commit_removals()
      with _IterationGuard(self):
      for wr in self.data.values():
       obj = wr()
      if obj is not None:
      yield obj
      def popitem(self):
      if self._pending_removals:
       self._commit_removals()
      while True:
       key, wr = self.data.popitem()
       o = wr()
      if o is not None:
      return key, o
      def pop(self, key, *args):
      if self._pending_removals:
       self._commit_removals()
      try:
       o = self.data.pop(key)()
      except KeyError:
       o = None
      if o is None:
      if args:
      return args[0]
      else:
      raise KeyError(key)
      else:
      return o
      def setdefault(self, key, default=None):
      try:
       o = self.data[key]()
      except KeyError:
       o = None
      if o is None:
      if self._pending_removals:
       self._commit_removals()
       self.data[key] = KeyedRef(default, self._remove, key)
      return default
      else:
      return o
      def update(*args, **kwargs):
      if not args:
      raise TypeError("descriptor 'update' of 'WeakValueDictionary' "
      "object needs an argument")
       self, *args = args
      if len(args) > 1:
      raise TypeError('expected at most 1 arguments, got %d' % len(args))
       dict = args[0] if args else None
      if self._pending_removals:
       self._commit_removals()
       d = self.data
      if dict is not None:
      if not hasattr(dict, "items"):
       dict = type({})(dict)
      for key, o in dict.items():
       d[key] = KeyedRef(o, self._remove, key)
      if len(kwargs):
       self.update(kwargs)
      def valuerefs(self):
      """Return a list of weak references to the values.
       The references are not guaranteed to be 'live' at the time
       they are used, so the result of calling the references needs
       to be checked before being used. This can be used to avoid
       creating references that will cause the garbage collector to
       keep the values around longer than needed.
       """
      if self._pending_removals:
       self._commit_removals()
      return list(self.data.values())
  
 

 

 

 

 

 

文章来源: yunyaniu.blog.csdn.net,作者:一个处女座的程序猿,版权归原作者所有,如需转载,请联系作者。

原文链接:yunyaniu.blog.csdn.net/article/details/84947123

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。