无法在 Jupyter Lab 中导入 pymc3。

3

我是 Python 的新手,正在尝试在我的 Mac 上的 Jupyter Lab 中运行他人的代码。它需要一个名为 pymc3 的包,我在终端中(conda install pymc3)和从 Jupyter Lab 中遵循这些说明安装了该包:

import sys
!conda install --yes --prefix {sys.prefix} pymc3

我对theano包采用同样的方法进行了操作。当我运行import pymc3时,仍然会出现以下错误:


You can find the C code in this temporary file: /var/folders/mv/512bfbj50lz_x1664zjjk3b80000gn/T/theano_compilation_error_jlqz137r

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
~/opt/anaconda3/lib/python3.7/site-packages/theano/gof/lazylinker_c.py in <module>
     80                     version,
---> 81                     actual_version, force_compile, _need_reload))
     82 except ImportError:

ImportError: Version check of the existing lazylinker compiled file. Looking for version 0.211, but found None. Extra debug information: force_compile=False, _need_reload=True

During handling of the above exception, another exception occurred:

ImportError                               Traceback (most recent call last)
~/opt/anaconda3/lib/python3.7/site-packages/theano/gof/lazylinker_c.py in <module>
    104                         version,
--> 105                         actual_version, force_compile, _need_reload))
    106         except ImportError:

ImportError: Version check of the existing lazylinker compiled file. Looking for version 0.211, but found None. Extra debug information: force_compile=False, _need_reload=True

During handling of the above exception, another exception occurred:

Exception                                 Traceback (most recent call last)
~/opt/anaconda3/lib/python3.7/site-packages/theano/gof/vm.py in <module>
    673         raise theano.gof.cmodule.MissingGXX('lazylinker will not be imported if theano.config.cxx is not set.')
--> 674     from . import lazylinker_c
    675 

~/opt/anaconda3/lib/python3.7/site-packages/theano/gof/lazylinker_c.py in <module>
    139             cmodule.GCC_compiler.compile_str(dirname, code, location=loc,
--> 140                                              preargs=args)
    141             # Save version into the __init__.py file.

~/opt/anaconda3/lib/python3.7/site-packages/theano/gof/cmodule.py in compile_str(module_name, src_code, location, include_dirs, lib_dirs, libs, preargs, py_module, hide_symbols)
   2398             raise Exception('Compilation failed (return status=%s): %s' %
-> 2399                             (status, compile_stderr.replace('\n', '. ')))
   2400         elif config.cmodule.compilation_warning and compile_stderr:

Exception: Compilation failed (return status=1): In file included from /Users/afh/.theano/compiledir_Darwin-19.3.0-x86_64-i386-64bit-i386-3.7.6-64/lazylinker_ext/mod.cpp:1:. In file included from /Users/afh/opt/anaconda3/include/python3.7m/Python.h:25:. /Users/afh/opt/anaconda3/bin/../include/c++/v1/stdio.h:108:15: fatal error: 'stdio.h' file not found. #include_next <stdio.h>.               ^~~~~~~~~. 1 error generated.. 

During handling of the above exception, another exception occurred:

AttributeError                            Traceback (most recent call last)
<ipython-input-41-200e74b8195d> in <module>
----> 1 import pymc3

~/opt/anaconda3/lib/python3.7/site-packages/pymc3/__init__.py in <module>
      3 
      4 from .blocking import *
----> 5 from .distributions import *
      6 from .distributions import transforms
      7 from .glm import *

~/opt/anaconda3/lib/python3.7/site-packages/pymc3/distributions/__init__.py in <module>
----> 1 from . import timeseries
      2 from . import transforms
      3 from . import shape_utils
      4 
      5 from .continuous import Uniform

~/opt/anaconda3/lib/python3.7/site-packages/pymc3/distributions/timeseries.py in <module>
      1 from scipy import stats
----> 2 import theano.tensor as tt
      3 from theano import scan
      4 
      5 from pymc3.util import get_variable_name

~/opt/anaconda3/lib/python3.7/site-packages/theano/__init__.py in <module>
    108     object2, utils)
    109 
--> 110 from theano.compile import (
    111     SymbolicInput, In,
    112     SymbolicOutput, Out,

~/opt/anaconda3/lib/python3.7/site-packages/theano/compile/__init__.py in <module>
     10 from theano.compile.function_module import *
     11 
---> 12 from theano.compile.mode import *
     13 
     14 from theano.compile.io import *

~/opt/anaconda3/lib/python3.7/site-packages/theano/compile/mode.py in <module>
      9 import theano
     10 from theano import gof
---> 11 import theano.gof.vm
     12 from theano import config
     13 from six import string_types

~/opt/anaconda3/lib/python3.7/site-packages/theano/gof/vm.py in <module>
    681 except ImportError:
    682     pass
--> 683 except (OSError, theano.gof.cmodule.MissingGXX) as e:
    684     # OSError happens when g++ is not installed.  In that case, we
    685     # already changed the default linker to something else then CVM.

AttributeError: module 'theano' has no attribute 'gof'

我可以告诉你,这与文件路径和环境有关,一个遇到类似问题的人通过“设置单独的conda环境”进行了解决,但我不知道如何实现。非常感谢您的任何建议。


1
你使用anaconda安装jupyterlab吗?为什么要安装两次pymc3? - LeoC
我刚刚安装了两次,希望其中一个能够起作用!我之前是从终端启动Jupyter的。但现在从已经下载的Anaconda启动它,我没有遇到导入pymc3时的错误。你知道为什么这种方式可以工作而另一种方式不行吗? - AFH
现在它可以工作了,好消息。如果我猜的话,jupyter安装的pymc3使用的路径与anaconda不同,但我意识到这只是一个表面的解释。通常我会坚持使用anaconda安装。 - LeoC
@AFH 你能否使用我建议的命令创建一个新的环境?这有助于解决您的问题吗? - linqo
1个回答

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接