我有以下專案結構:
v/b.py
v/e.py
v/e_test.py
v/p.py
v/__init__.py
#v/e.py
from b import B
from p import P
class E(object):
def run(self): pass
#v/p.py
class P(object):
def run(self): pass
#v/b.py
from p import P
class B(object):
def run(self): pass
#v/e_test.py
from e import E
import unittest
class ETest(unittest.Testcase):
def testSomething(self): pass
if __name__ == '__main__':
unittest.main()
然后我運行這個pip3 install coverage。
然后 coverage run e_test.py
它給了我這個錯誤
Traceback (most recent call last):
File "e_test.py", line 4, in <module>
from e import E
File "~/v/e.py", line 1, in <module>
from b import B
File "~/v/b.py", line 1, in <module>
from p import P
ImportError: cannot import name 'P' from 'p' (/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/p.py)
我現在的問題是如何解決這個問題。我也希望能夠運行:
- 覆寫運行 e_test.py b_test.py files_test.py
- python3 e_test.py
- python3 e.py
uj5u.com熱心網友回復:
嗯,我想 P Class 還沒有宣告,所以你得到了這樣的錯誤
uj5u.com熱心網友回復:
#v/p.py
class P(object):
def run(self): pass
您還沒有定義 P 是什么,錯誤是報告 p.py 沒有 P 物件。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/331647.html
