ModuleNotFoundError尝试在测试中导入模块时

时间:2018-08-15 12:56:40

标签: python import module

我具有以下目录结构:

repoName/
├── myPackage/
│   ├── myModule.py
│   ├── __init__.py
└── tests/
    └── test.py

有一个类似的电话

from myPackage.myModule import myClass

当我去运行test.py文件(工作目录repoName/)时,我得到一个ModuleNotFoundError

但是,当我在repoName/处调用交互式解释器并手动执行from myPackage.myModule import myClass时,导入成功就很好了。为什么在测试文件中不起作用?

编辑

将其添加到测试脚本中似乎可以使其导入,但是我仍然不明白为什么有必要这样做: sys.path.append("../myPackage")

1 个答案:

答案 0 :(得分:-1)

如果您不知道在子目录中运行python模块以使用模块化路径这是一种非常有用的语法。

 #region AttributeID
        public abstract class attributeID : PX.Data.IBqlField
        {
        }
        protected string _AttributeID;
        [PXDBString(10, IsUnicode = true, IsKey = true, InputMask = ">aaaaaaaaaa")]       
        [PXUIField(DisplayName = "Attribute ID", Visibility = PXUIVisibility.SelectorVisible)]
        [PXSelector(typeof(CSAttribute.attributeID))]
        public virtual string AttributeID
        {
            get
            {
                return this._AttributeID;
            }
            set
            {
                this._AttributeID = value;
            }
        }
        #endregion
    #region DefaultValue
        public abstract class defaultValue : PX.Data.IBqlField
        {
        }
        protected string _DefaultValue;
        [PXDBString(255, IsUnicode = true)]
        [PXUIField(DisplayName = "Default Value")]
        [DynamicValueValidation(typeof(Search<CSAttribute.regExp, Where<CSAttribute.attributeID, Equal<Current<TSOrderTypeAttribute.attributeID>>>>))]
        public virtual string DefaultValue
        {
            get
            {
                return this._DefaultValue;
            }
            set
            {
                this._DefaultValue = value;
            }
        }
        #endregion

过去,这个小天赐的确对我有所帮助!