从ipython解释器而不是命令行运行模块

时间:2012-03-09 15:29:15

标签: python packages ipython

我正在开发一个包,我的结构如下:

 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手动运行它,但不知怎的,这似乎是错误的。我还应该做些什么才能正确设置它?

1 个答案:

答案 0 :(得分:7)

在Python 2.5中引入了将程序包作为程序运行。我认为IPython没有本机功能,但从版本2.7开始,Python标准库就具有runpy.run_module()功能。请注意,这与IPython的%run略有不同,因为它将返回模块的全局字典,而不是直接将其导入到解释器范围。