我有一个包含以下树的Pycharm项目:
-- Sources
|--__init__.py
|--Calculators
|--__init__.py
|--Filters.py
|--Controllers
|--__init__.py
|--FiltersController.py
|--Viewers
|--__init__.py
|--DataVisualization.py
|--Models
|--__init__.py
|--Data
我的Filters.py调用的地方:
import Sources.Models.Data as Dt
我的FilterController.py调用:
import Sources.Calculators.Filters as Fs
import Sources.Models.Data as Dt
等等。
首先,我的__init__.py实际上是我的主要。它的导入如下:
import Calculators.Filters as Fs
import Controllers.FiltersController as Fc
import Models.Data as Dt
import Viewers.DataVisualization as Dv
我不认为我的__init__.py作为我的主是正确的,但是我可以这样做__Filters.py__和__FilterController.py__找到来源。当我用Pycharm运行它时效果很好。但是,当我在终端中运行__init__.py时,我遇到了一堆像这样的错误:
Traceback (most recent call last):
File "__init__.py", line 10, in <module>
import Calculators.Filters as Fs
File "/Users/paulaceccon/PycharmProjects/UncertaintyQuantificationOfFilters/Sources/Calculators/Filters.py", line 6, in <module>
import Sources.Models.Data as Dt
ImportError: No module named Sources.Models.Data
我想知道如何正确地执行此操作,以便使用正确的Python方式来使用包并且能够在没有Pycharm的终端中运行它。 提前谢谢。
答案 0 :(得分:0)
你有一个错字。在文件夹中,您将其命名为“模型”。但是在导入时,您将其命名为“模型”。此外,您需要将目录添加到Python的搜索路径中:
package = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
sys.path.append(package)
您应该在outest init .py
中添加这些行