导入错误:无法从 __init__.py 导入名称

ari*_*nmz 5 python-3.x

我有一个项目结构如下

src/
  scripts/
    script1
  mylib
    __init__.py
    a_module.py
Run Code Online (Sandbox Code Playgroud)

这些是内容 __init__.py

__version__ = '0.0.1'
Run Code Online (Sandbox Code Playgroud)

但如果我尝试这样做script1

from mylib import __version__ as _ver
Run Code Online (Sandbox Code Playgroud)

它失败了:

Traceback (most recent call last):
  File "./script1", line 2, in <module>
    from mylib import __version__ as _ver
ImportError: cannot import name '__version__'
Run Code Online (Sandbox Code Playgroud)

更改 var 名称根本没有帮助,即这也失败了:

from mylib import a_ver as _ver
Run Code Online (Sandbox Code Playgroud)

任何其他模块中的每个其他变量都被正确导入,例如

from mylib.a_module import a_var
Run Code Online (Sandbox Code Playgroud)

为什么?我该如何解决这个问题?

Vad*_*Sim 0

您可以使用:

import mylib
_ver = mylib.__version__
del mylib
Run Code Online (Sandbox Code Playgroud)