首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PyCharm单元测试: AttributeError:模块'enum‘没有属性'IntFlag’

PyCharm单元测试: AttributeError:模块'enum‘没有属性'IntFlag’
EN

Stack Overflow用户
提问于 2018-10-12 03:12:40
回答 1查看 386关注 0票数 3

只有在PyCharm内部运行单元测试时才会出现错误。

OSX上的Python3.6.5

代码语言:javascript
运行
复制
/Users/me/project/env/bin/python /Applications/PyCharm.app/Contents/helpers/pycharm/_jb_unittest_runner.py --target test_module.TestClass.test_method

Traceback (most recent call last):
  File "/Applications/PyCharm.app/Contents/helpers/pycharm/_jb_unittest_runner.py", line 4, in <module>
    from unittest import main
  File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/__init__.py", line 58, in <module>
    from .result import TestResult
  File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/result.py", line 5, in <module>
    import traceback
  File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/traceback.py", line 5, in <module>
    import linecache
  File "/Users/enos/patrf/api/env/lib/python3.6/linecache.py", line 11, in <module>
    import tokenize
  File "/Users/enos/patrf/api/env/lib/python3.6/tokenize.py", line 33, in <module>
    import re
  File "/Users/enos/patrf/api/env/lib/python3.6/re.py", line 142, in <module>
    class RegexFlag(enum.IntFlag):
AttributeError: module 'enum' has no attribute 'IntFlag'

这个错误似乎与Why Python 3.6.1 throws AttributeError: module 'enum' has no attribute 'IntFlag'?有关,这里的建议不起作用。

  • enum-compat添加到requirements.txt不会改变任何事情。
  • 一个不导入任何东西的简单单元测试.py文件仍然显示出这个问题。
  • 我的项目目录中没有enum.py文件。
  • 与干净的virtualenv和干净的venv一起发生。
  • 在PyCharm之外,一切都很好。

这似乎只发生在我使用Graphene的一个项目中,该项目确实有一个enum.py,但是即使删除这些文件也没有任何效果。find . -name "enum.py"什么也不返回。

任何PyCharm专家都有想法吗?我真的很想在PyCharm内部运行我的测试,我希望能够在这个项目中这样做。

EN

回答 1

Stack Overflow用户

发布于 2020-04-17 21:19:25

我也遇到了这个问题。我能够通过删除enum34包来解决这个问题。即使使用venv,也需要确保检查PyCharm项目解释器添加到PYTHONPATH中的所有目录。只运行pip卸载enum34可能无法修复此问题。

在我的例子中,我让PyCharm将额外的目录加载到PYTHONPATH,其中一个包含了enum34包。从那个目录中删除它解决了这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52771674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档