2

これは非常に単純な問題であり、信じられないほど明白な何かが欠けているだけだと確信していますが、この苦境に対する答えは、数時間前からわかりませんでした.

私のプロジェクトのディレクトリ構造は次のようになります。

-PhysicsMaterial
   -Macros
      __init__.py
      Macros.py
   -Modules
      __init__.py
      AvgAccel.py
      AvgVelocity.py
   -UnitTests
      __init__.py
      AvgAccelUnitTest.py
      AvgVelocityUnitTest.py
    __init__.py

ここでの命名規則とディレクトリ構造に対する批判は別として、相対インポートを使用できないようです。AvgAccelUnitTest.py でテストするモジュール ファイルを相対インポートしようとしています。

from .Modules import AvgAccel as accel

ただし、私は取得し続けます:

ValueError: Attempted relative import in non-package

構造全体にすべての初期化ファイルが設定されており、PYTHONPATH に最上位ディレクトリも追加されているため、困惑しています。Python がパッケージを解釈せず、ファイルを正しくインポートしないのはなぜですか?

4

2 に答える 2

0

__init__.pyでも「パッケージ以外で相対インポートを試みました」を修正する方法

さて、今すぐ sys.path.append を使用していると思います。@BrenBarn、@fireant、@Ignacio Vazquez-Abramsに拍手半拍手

于 2016-07-28T20:09:04.517 に答える