pip install -eでインストールしたパッケージはimportできない

espnetのソースコードをローカルにダウンロードし、pip install -e .
で仮想環境にインストールしました。しかし、以下のソースコードを実行すると、
from espnet2.bin.tts_inference import Text2Speech
ImportError
が発生します。
Traceback (most recent call last):
File "D:\espnet-lab\tts.py", line 1, in <module>
from espnet2.bin.tts_inference import Text2Speech
File "D:\espnet-lab\espnet-src\espnet2\__init__.py", line 3, in <module>
from espnet import __version__ # NOQA
ImportError: cannot import name '__version__' from 'espnet' (unknown location)
espnet.__version__
はespnet-src/espnet/__init__.py
(リンク)で設定されます。
"""Initialize espnet package."""
import os
dirname = os.path.dirname(__file__)
version_file = os.path.join(dirname, "version.txt")
with open(version_file, "r") as f:
__version__ = f.read().strip()
つまり、__init__.py
は実行されななかったです。なぜでしょう。

__init__.py
が実行するタイミングを調べてみます。

'espnet' (unknown location)
が気になります。__init__.py
が実行しなかったのは、espnet
パッケージが見つからなかったのかもしれません。

espnet2\__init__.py
に入っているソースコードは一行だけです。
from espnet import __version__ # NOQA
#NOQA
はlinter向けのコメントです。
Adding # noqa to a line indicates that the linter (a program that automatically checks code quality) should not check this line. Any warnings that code may have generated will be ignored.
That line may have something that "looks bad" to the linter, but the developer understands and intends it to be there for some reason.

espnet-lab
フォルダにespnet
という子フォルダが存在します。それはモジュール検索に影響したかもしれません。その子フォルダを削除してもう一回tts.py
を実行したら、import
文は成功しました。