只有在PyCharm内部运行单元测试时才会出现错误。
OSX上的Python3.6.5
/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
一起发生。这似乎只发生在我使用Graphene的一个项目中,该项目确实有一个enum.py
,但是即使删除这些文件也没有任何效果。find . -name "enum.py"
什么也不返回。
任何PyCharm专家都有想法吗?我真的很想在PyCharm内部运行我的测试,我希望能够在这个项目中这样做。
发布于 2020-04-17 21:19:25
我也遇到了这个问题。我能够通过删除enum34包来解决这个问题。即使使用venv,也需要确保检查PyCharm项目解释器添加到PYTHONPATH中的所有目录。只运行pip卸载enum34可能无法修复此问题。
在我的例子中,我让PyCharm将额外的目录加载到PYTHONPATH,其中一个包含了enum34包。从那个目录中删除它解决了这个问题。
https://stackoverflow.com/questions/52771674
复制相似问题