gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-30 00:02:33 26 4
gpt4 key购买 nike

我无法在 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 的 pip?

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

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

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

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

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

关于python - IPython 无法加载标准解释器工作的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29794369/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com