IPython无法加载标准解释器工作的模块



我无法在IPython中加载在普通解释器中运行良好的python模块。我已经分析了这个问题,但不知怎么的,IPython找不到模块,而标准控制台找到了:

这在正常的解释器中起作用:

>>> import sys
>>> sys.path.append(r'c:development...ns.package-10.1.0.3-py2.7.egg')
>>> from ns import package
>>>

但在IPython上却没有:

In [2]: import sys
In [3]: sys.path.append(r'c:development...ns.package-10.1.0.3-py2.7.egg')
In [4]: from ns import package
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-4-c019e2988e33> in <module>()
----> 1 from ns import package
ImportError: cannot import name package

我觉得这很令人困惑。我是IPython的新手,不知道从哪里开始。提前谢谢。

您必须记住的关键是,您的机器上通常不只有一个python解释器。现在很多系统都同时带有python2.7python3.x,也许还有更多。每个解释器都维护自己的一组已安装包,并有自己的一套已安装脚本,如ipythonpip。当您在shell中键入pip时,通常不清楚您实际调用的是哪个pip。是python3的点子还是python2的点子?

这里是你可能遇到麻烦的地方:

PATH中的ipythonpython可执行文件不一定属于同一个解释器:假设pythonpip属于python2安装,但您随后决定将ipython安装到python3解释器中。现在ipython看到了python3解释器的包,而python看到了所有的python2包。

如果在这种情况下比较which ipythonwhich python的输出,您会注意到您得到的路径属于不同的解释器。

那么,你如何为你最喜欢的口译员调用脚本呢?如果python指向您最喜欢的解释器,则某些包为您提供了一种通过-m参数进行调用的好方法:您可以编写python -m pip install ipython,而不是pip install ipython,并确保您调用了您最喜欢python解释器的pip版本。

类似地,您可以通过python -m IPython notebook启动ipython notebook

以上都是真的,谢谢@cel。我每个月左右都会中断我的安装b/c我是一名管理员,负责安装和删除等等。上周我摔坏了东西,遇到了和上面一样的问题,除了蟒蛇3。我所做的只是pip3 uninstall ipython; pip3 install ipython,我让我的熊猫和其他图书馆链接回来可用。

pip install ipython

如果你来到终端并写下这段代码,问题就会得到解决。

相关内容

  • 没有找到相关文章

最新更新