我正在开发一个包,我的结构如下:
mypackage/
__init__.py
__main__.py
someotherstuff.py
test/
__init__.py
testsomeotherstuff.py
我已经设置了它,以便 main .py函数运行一些单元测试,并且从命令行执行python mypackage
工作正常。但是我常常想使用ipython首次亮相,但是从解释器中run mypackage
给出了错误ERROR: File 'mypackage.py' not found
。我可以通过run mypackage/__main__.py
手动运行它,但不知怎的,这似乎是错误的。我还应该做些什么才能正确设置它?
答案 0 :(得分:7)
在Python 2.5中引入了将程序包作为程序运行。我认为IPython没有本机功能,但从版本2.7开始,Python标准库就具有runpy.run_module()
功能。请注意,这与IPython的%run
略有不同,因为它将返回模块的全局字典,而不是直接将其导入到解释器范围。