我有一个这样的项目结构:
/adapters/adapter.py
/blockchain.py
/venv
#adapter.py
from blockchain import Blockchain
class Adapter():
pass
#blockchain.py
class Blockchain():
pass
包含from blockchain import Blockchain
blockchain.py就像class Blockchain(): pass
现在来自adapter.py,我想导入位于blockchain.py中的Blockchain类
我使用的是python 3.6.6(使用venv),直到今天,我将带有 init 文件的某些东西移到项目中时,这样做从未遇到任何问题。我删除了所有文件,并从存储库中提取了文件,以确保其完全像以前一样正常工作,但是我得到了
没有名为“区块链”的模块
我的项目中没有任何初始化文件,并且该文件工作了2个星期没有出现问题,这很奇怪。我知道已经有很多类似的帖子,其中大多数都建议使用 init 文件,但是我很困惑为什么它以前可以使用,但现在又可以使用了。
我的sys.path像这样(bcios-master是根文件夹):
['', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python36.zip', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload', '/Users/timo/Documents/bcio-master/venv/lib/python3.6/site-packages']
以某种方式,如果我尝试附加它并不会保存它。