まず第一に、申し訳ありませんが、相対インポートについて多くの質問があったことは知っていますが、解決策が見つかりませんでした. 可能であれば、次のディレクトリ レイアウトを使用したいと思います。
myClass/
__init__.py
test/
demo.py
benchmark.py
specs.py
src/
__init__.py
myClass.py
今私の質問は次のとおりです。
パッケージ内のテスト ファイルはどのように myClass.py を適切にインポートしますか?
myClass を libs/myClass または include/myClass のサブモジュールとして使用すると仮定すると、パッケージを外部からどのようにインポートしますか?
これまでのところ、これに対するエレガントな解決策を見つけることができませんでした。私が理解しているGuidoの決定から、それは可能であるはずですfrom ..src import myClass
が、これはエラーになります:
ValueError: Attempted relative import in non-package
myClass をパッケージとして扱わないように見えます。ドキュメントを読む:
__init__.py ファイルは、Python がディレクトリをパッケージを含むものとして扱うために必要です。
パッケージのスクリプトがどこにあるかを指定する何かが欠けているようですが、 .pth を使用する必要がありますか?