【问题标题】:Xlwings error in using python modules使用 python 模块时出现 Xlwings 错误
【发布时间】:2015-08-17 13:34:45
【问题描述】:

我正在尝试将 Xlwings 用于 Python,但是在安装 Python 3.5、pywin32 扩展和 Xlwings 后,开始导入时出现以下错误:

from xlwings import workbook
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    from xlwings import workbook
  File "C:\Python 3.5\lib\site-packages\xlwings\__init__.py", line 18, in <module>
    from . import _xlwindows as xlplatform
  File "C:\Python 3.5\lib\site-packages\xlwings\_xlwindows.py", line 15, in <module>
    import pywintypes
  File "C:\Python 3.5\lib\site-packages\win32\lib\pywintypes.py", line 124, in <module>
    __import_pywin32_system_module__("pywintypes", globals())
  File "C:\Python 3.5\lib\site-packages\win32\lib\pywintypes.py", line 117, in __import_pywin32_system_module__
    assert sys.modules[modname] is not old_mod
AssertionError

【问题讨论】:

  • 问题出在pywin32,请参阅我对鲍勃回答的评论。在 Mac 上,xlwings 可以使用 Python 3.5 轻松运行。

标签: python module pywin32 xlwings


【解决方案1】:

尝试注释掉断言(用pass 替换它们),看看它是否有效。否则你将需要调试 pywintypes。

Felix Zumstein just informed me 以上建议无效:

当您注释掉这些行时,它会在执行from pywintypes import TimeType: ImportError: cannot import name 'TimeType' 时进一步失败

但是,downgrading may solve this problem.

【讨论】:

  • 当您注释掉这些行时,在执行 from pywintypes import TimeType: ImportError: cannot import name 'TimeType' 时会进一步失败
  • @FelixZumstein 那么那是不行的,但是降级应该可以工作。 pywin32 有(已知的)问题。
  • 事实上只有一个版本 (219) 可用于 Python 3.5 的二进制格式,-)
  • @FelixZumstein 为什么你还没有回答这个问题? :P 我很乐意删除我的答案
  • 好吧,我还没有找到可行的解决方案,我只是在尝试您的建议;-)
【解决方案2】:

经过多次反复试验,我发现降级到 Python 3.3 可以工作

感谢大家的回复

【讨论】:

  • 现在使用 Anaconda 发行版为您提供了一种在 Python 3.5 中使用 xlwings 的简单方法
猜你喜欢
  • 1970-01-01
  • 2018-08-24
  • 2018-06-03
  • 1970-01-01
  • 1970-01-01
  • 2014-05-07
  • 1970-01-01
  • 1970-01-01
  • 2020-11-22
相关资源
最近更新 更多