pycharm 2017.1加载模块的目录路径不一致

时间:2017-04-25 20:03:58

标签: python package pycharm

我在Pycharm中开发了一个python3包,但是在我的测试用例中尝试import模块时遇到了一些令人困惑的行为。问题似乎与内部包模块的目录路径有关。解释这个问题有点困难,但这里有一个要点。

所以python包的名称是pyugend.现在,当我尝试将一个名为Models的模块(在包内)导入测试用例时,pycharm迫使我引用路径为pyugend.pyugend.Models.所以我需要两次引用pyugend

但是,当我构建,安装此软件包并将其导入jupyter笔记本或某个脚本时,我会遇到有关pyugend软件包未找到内部模块的错误。解决这些错误的唯一方法是将模块内部的路径更改为pyugend.Models等引用。

基本上,要在pycharm内部运行测试,我确保所有内部包导入都使用类似from pyugend.pyugend.Models import ...的目录路径但是当我想在{{1}之外使用包时然后我实际上必须进入包,将所有pycharm引用转换为单个import pyugend.pyugend...引用。

我已经包含了目录结构的图片以及import pyugend.Models ...的图片 enter image description here

1 个答案:

答案 0 :(得分:0)

您可以在sys.path.append(os.path.dirname(os.path.abspath(__file__)))中的导入之前添加行__init.py__,然后将导入更改为from pyugend.Models import Base_model,依此类推,以便在您使用该包时启用一致的行为。