【发布时间】: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/…(链接在该文章中)。