【问题标题】:IPython notebook kernel dies on importIPython 笔记本内核在导入时死亡
【发布时间】:2014-11-27 19:17:58
【问题描述】:

我在 Enthought 的 Canopy 64 位发行版 Ubuntu 14.04 上运行 IPython Notebook。

我试过安装 libtiff,但是当我在 IPython Notebook 中导入它时,内核总是在 import 语句处死掉。这可能是什么原因造成的? Canopy 是我的默认 Python 发行版,我的所有路径看起来都设置得当,尽管我确信我的 Python 设置中的某些东西很糟糕。

感谢任何建议。

编辑:我会更具体。 sys.path 的输出:

    ['',
 '/home/joe/Enthought/Canopy_64bit/User/src/svn',
 '/home/joe/Canopy/appdata/canopy-1.4.1.1975.rh5-x86_64/lib/python27.zip',
 '/home/joe/Canopy/appdata/canopy-1.4.1.1975.rh5-x86_64/lib/python2.7',
 '/home/joe/Canopy/appdata/canopy-1.4.1.1975.rh5-x86_64/lib/python2.7/plat-linux2',
 '/home/joe/Canopy/appdata/canopy-1.4.1.1975.rh5-x86_64/lib/python2.7/lib-tk',
 '/home/joe/Canopy/appdata/canopy-1.4.1.1975.rh5-x86_64/lib/python2.7/lib-old',
 '/home/joe/Canopy/appdata/canopy-1.4.1.1975.rh5-x86_64/lib/python2.7/lib-dynload',
 '/home/joe/Enthought/Canopy_64bit/User/lib/python2.7/site-packages',
 '/home/joe/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/PIL',
 '/home/joe/opencv-2.4.9',
 '/home/joe/Canopy/appdata/canopy-1.4.1.1975.rh5-x86_64/lib/python2.7/site-packages',
 '/home/joe/Canopy/appdata/canopy-1.4.1.1975.rh5-x86_64/lib/python2.7/site-packages/IPython/extensions']

至于如何安装 Python 包,我假设我去 ~/Enthought/Canopy_64bit/User/lib/python2.7/site-packages 并根据特定包的运行 pip、setup.py 或 shell 脚本指示。那是对的吗?我链接的文章有以下行:“要安装 Canopy / EPD 存储库中不可用的包,请从 OS 命令行遵循标准 Python 安装程序。”,这似乎暗示我按照包说明进行安装。

在 .bashrc 中,我有以下内容:

VIRTUAL_ENV_DISABLE_PROMPT=1 source /home/joe/Enthought/Canopy_64bit/User/bin/activate    
export PYTHONHOME=/home/joe/Enthought/Canopy_64bit/User/bin
export PATH=/home/joe/Enthought/Canopy_64bit/User/bin
export PYTHONPATH=/home/joe/Enthought/Canopy_64bit/User/bin

根据我对链接文章的理解,这意味着我将 Canopy 用户设置为我的默认 Python 发行版。我确定我在这里做的有点过头了,但我不明白我还需要做什么来解决这个问题。

更糟糕的是,当我尝试从命令行启动 IPython notebook 或 python 时,使用这些 .bashrc 设置得到“ImportError: No module named site”。我只能从 Canopy GUI 运行。

【问题讨论】:

  • 从我们对 SO 的讨论来看,听起来您在系统 Python 中安装了 tiff / pylibtiff,而不是 Canopy User Python。在使用pip 安装之前,请务必确保 Canopy 是活动的 Python (which python)。
  • 另外,当您在 Canopy Python 中查看 sys.path 时,那里应该没有系统 Python 路径,反之亦然。
  • 我确实将 tiff/pylibtiff 安装到系统 Python 中,而不是 Canopy 用户 Python,按照说明以及我对所提供文章 (support.enthought.com/entries/…) 的理解。我看错文章了吗?我认为从 /home/joe 目录安装是合适的方法。这些都不是通过 pip 安装的。
  • 我正在将这些包安装到 /Enthought/Canopy_64bit/User/lib/python2.7/site-packages。他们似乎没有被发现。此外,sys.path 在 Canopy python 中没有显示 python 路径。
  • 如果您的 sys.path 在 Canopy Python 中没有显示任何 python 路径,那么您没有运行 Canopy Python。是的,你误读了这篇文章。有关详细信息,请参阅support.enthought.com/entries/…(链接在该文章中)。

标签: ipython enthought


【解决方案1】:

关闭这个。我让它变得比必要的更难。

事实证明,PYTHONHOME 和 PYTHONPATH .bashrc 变量引起了一些冲突。评论他们似乎已经解决了这个问题。

确实,从主 (~) 目录安装外部包。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-19
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2016-03-23
    • 2015-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多