IPython与Python有何不同?
|
这些天我一直在尝试PyMC,我写了一个非常简单的mcmceasy.py。有趣的是,该脚本在IPython中可以正常运行,但是,当我直接使用Python时,它提供以下回溯:
Traceback (most recent call last):
File \"mcmceasy.py\", line 2, in <module>
from pymc import MvNormal, MCMC
File \"/usr/lib/python2.7/site-packages/pymc/__init__.py\", line 55, in <module>
import ScipyDistributions
File \"/usr/lib/python2.7/site-packages/pymc/ScipyDistributions.py\", line 1, in <module>
import scipy.stats.distributions as sc_dst
File \"/usr/lib/python2.7/site-packages/scipy/stats/__init__.py\", line 12, in <module>
import mstats
File \"/usr/lib/python2.7/site-packages/scipy/stats/mstats.py\", line 3, in <module>
from mstats_basic import *
File \"/usr/lib/python2.7/site-packages/scipy/stats/mstats_basic.py\", line 52, in <module>
import scipy.misc as misc
File \"/usr/lib/python2.7/site-packages/scipy/misc/__init__.py\", line 20, in <module>
__all__ += common.__all__
NameError: name \'common\' is not defined
我的问题分为两部分:1.如何使用香草python shell解决此问题? 2.是什么使IPython摆脱了此错误?
没有找到相关结果
已邀请:
2 个回复
荆怖赡
代码有效的事实意味着common被导入到其他地方。在
中,PackageLoader是从numpy导入的,它执行可怕的魔术,检查调用堆栈中帧的路径等。 IPython与python的导入不同,尤其是在使用pylab标志的情况下。那将使ipython和python不同。我建议单独尝试上述导入。在PyMC之前调用导入可能是一种解决方法 否则,您应该发布numpy版本,这是从其中调用PackageLoader的版本。
掏得透垦滩