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

tdc*_*tdc 7 python packages ipython

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

 mypackage/
    __init__.py
    __main__.py
    someotherstuff.py
    test/
        __init__.py
        testsomeotherstuff.py
Run Code Online (Sandbox Code Playgroud)

我已经设置好 .py函数运行一些单元测试,python mypackage从命令行执行工作正常.然而,我经常想使用ipython首次亮相,但是从解释器中,run mypackage给出了错误ERROR: File 'mypackage.py' not found.我可以手动运行它run mypackage/__main__.py但不知何故这似乎是错误的.我还应该做些什么才能正确设置它?

Sve*_*ach 7

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