我知道已经有这样的问题了,但是我现在已经研究了一个多小时,我根本无法让它工作。我有一个使用鼻子测试进行单元测试的包,并且某些类是可导入的。我有以下结构:setup.py/RecurrenceRelationSolver-- __init__.py-- RecurrenceRelation.py-- RecurrenceRelationParser.py-- RecurrenceRelationSolver.py/tests-- __init__.py-- context.py-- test_homogenous.pygithub 在这里:https : //github.com/rowanG077/RecurrenceRelationSolver我__init__.py看起来像这样,因为我想允许其他人导入这些类:from .RecurrenceRelation import RecurrenceRelationfrom .RecurrenceRelationParser import RecurrenceRelationParser在我的情况下,RecurrenceRelationSolver.py不包含任何类,而是这样的:from . import RecurrenceRelationParserfrom . import RecurrenceRelationdef main(): ...if __name__ == '__main__': main()然后在我的单元测试中__init__.py是空的,context.py我有:# -*- coding: utf-8 -*-import sysimport ossys.path.insert(0, os.path.abspath( os.path.join(os.path.dirname(__file__), '..')))from RecurrenceRelationSolver import RecurrenceRelation, RecurrenceRelationParser它现在的结构方式我可以成功运行单元测试,但是当我在RecurrenceRelationSolver目录中并运行python RecurrenceRelationSolver.py它时,它不适用于以下消息:from . import RecurrenceRelationParserImportError: cannot import name 'RecurrenceRelationParser'我不知道该怎么做,因为我从来没有做过这样的模块。无论如何我可以构建我的导入,我可以继续将包用作库并直接运行?任何帮助表示赞赏!我正在使用 python 3.6。
添加回答
举报
0/150
提交
取消