我具有以下目录结构:
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")
答案 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
过去,这个小天赐的确对我有所帮助!