首页 文章

Jupyter(IPython)笔记本numpy / pandas / matplotlib错误(FreeBSD)

提问于
浏览
0

我想在家里 Build 一个Jupyter笔记本服务器 . 它花了我很长时间,但我已经成功构建并安装了Python 3.4和FreeBSD端口所需的所有软件包 . 笔记本服务器启动并正常运行,每次我尝试导入numpy时除外:

In[1]: import numpy

发生以下错误:

ImportError                               Traceback (most recent call last)
<ipython-input-1-5a0bd626bb1d> in <module>()
----> 1 import numpy

/usr/local/lib/python3.4/site-packages/numpy/__init__.py in <module>()
    178         return loader(*packages, **options)
    179 
--> 180     from . import add_newdocs
    181     __all__ = ['add_newdocs',
    182                'ModuleDeprecationWarning',

/usr/local/lib/python3.4/site-packages/numpy/add_newdocs.py in <module>()
     11 from __future__ import division, absolute_import, print_function
     12 
---> 13 from numpy.lib import add_newdoc
     14 
     15 ###############################################################################

/usr/local/lib/python3.4/site-packages/numpy/lib/__init__.py in <module>()
      6 from numpy.version import version as __version__
      7 
----> 8 from .type_check import *
      9 from .index_tricks import *
     10 from .function_base import *

/usr/local/lib/python3.4/site-packages/numpy/lib/type_check.py in <module>()
      9            'common_type']
     10 
---> 11 import numpy.core.numeric as _nx
     12 from numpy.core.numeric import asarray, asanyarray, array, isnan, \
     13                 obj2sctype, zeros

/usr/local/lib/python3.4/site-packages/numpy/core/__init__.py in <module>()
     12         os.environ[envkey] = '1'
     13         env_added.append(envkey)
---> 14 from . import multiarray
     15 for envkey in env_added:
     16     del os.environ[envkey]

ImportError: /lib/libgcc_s.so.1: version GCC_4.6.0 required by /usr/local/lib/gcc48/libgfortran.so.3 not found

导入pandas和matplotlib的错误消息不同,但我怀疑这与这个numpy导入错误有关 .

奇怪的是,所有3个软件包在Python和IPython控制台上运行良好,完全没有问题!我用Google搜索并做了以下尝试:

delete and reinstall numpy -> no change
    append numpy directory to sys.path -> no change
    install a lot of other external packages just to see if it's only related to numpy -> they are all working fine in both consoles and notebook, except scipy giving some error related to numpy

谢谢您的帮助!

2 回答

  • 2

    我的gcc是版本4.2.1 . 我已通过将LD_LBRARY_PATH设置为/ usr / local / lib / gcc48来解决此问题 . gcc48已安装在我的系统中 . 为了避免每次都设置路径,我在/.cshrc中添加了以下行:

    setenv  LD_LIBRARY_PATH /usr/local/lib/gcc48
    

    edit: 这不起作用您想通过添加到crontab自动启动笔记本服务器:

    @reboot /usr/local/bin/jupyter-notebook
    

    尝试根据numpy导入numpy和模块时出现相同的错误

    我通过制作/ usr / local / bin / jupyter-notebook的副本来修复此问题并添加以下行:

    import sys
        import re
        ----------------- add these 2 lines below --------------
        import os
        os.environ['LD_LIBRARY_PATH'] = '/usr/local/lib/gcc48'
        ....
    

    将新文件添加到crontab而不是jupyter-notebook .

  • 1

    问题不在于你的python模块 . 底部的错误消息,其中显示 ImportError: /lib/libgcc_s.so.1: version GCC_4.6.0 required by /usr/local/lib/gcc48/libgfortran.so.3 not found 表示它是Fortran库的依赖性错误 . 显然它需要gcc 4.6或更高版本,显然你安装了较低版本 . 不熟悉Python库或您的设置,我的猜测是它可能是 /usr/ports/devel/py-fortran 的问题 . 我建议使用 gcc -v 检查机器上的gcc版本,以及使用 pkg info 安装的任何与fortran相关的端口,然后从那里取出 .

相关问题