Anaconda conda install pymc:导入

时间:2017-06-13 21:17:00

标签: installation anaconda theano conda pymc3

我的目标是在Mac OS 10.10.5上使用Python3安装PyMC3。我的以下方法失败了:

  1. 我查看了Theano网站,发现Python 3.6尚未得到支持。
  2. 所以我使用https://repo.continuum.io/archive/Anaconda3-4.2.0-MacOSX-x86_64.pkg(在docs.continuum.io/anaconda/faq.html#anaconda-faq-35之后)使用Python 3.5
  3. 在Jupiter QtConsole中,我运行!conda install -y -c conda-forge pymc3(修改pymc-devs.github.io/pymc3 /上推荐的命令)
  4. 安装成功完成
  5. import pymc3以“未找到'stdio.h'文件”
  6. 失败
  7. 我跑了!xcode-select --install(正如stackoverflow.com/a/40301452所建议的那样)
  8. import pymc3再次失败,现在出现以下错误消息:
  9. 异常:编译失败(返回状态= 1):找不到ld:符号dyld_stub_binding_helper,通常位于crt1.o / dylib1.o / bundle1.o中,用于体系结构x86_64。 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)。

    以下是错误消息的较长尾部:

      01066   #if defined(NPY_PY3K)
      01067   static struct PyModuleDef moduledef = {
      01068           PyModuleDef_HEAD_INIT,
      01069           "lazylinker_ext",
      01070           NULL,
      01071           -1,
      01072           lazylinker_ext_methods,
      01073           NULL,
      01074           NULL,
      01075           NULL,
      01076           NULL
      01077   };
      01078   #endif
      01079   #if defined(NPY_PY3K)
      01080   #define RETVAL m
      01081   PyMODINIT_FUNC
      01082   PyInit_lazylinker_ext(void) {
      01083   #else
      01084   #define RETVAL
      01085   PyMODINIT_FUNC
      01086   initlazylinker_ext(void) 
      01087   {
      01088   #endif
      01089       PyObject* m;
      01090   
      01091       lazylinker_ext_CLazyLinkerType.tp_new = PyType_GenericNew;
      01092       if (PyType_Ready(&lazylinker_ext_CLazyLinkerType) < 0)
      01093           return RETVAL;
      01094   #if defined(NPY_PY3K)
      01095       m = PyModule_Create(&moduledef);
      01096   #else
      01097       m = Py_InitModule3("lazylinker_ext", lazylinker_ext_methods,
      01098                          "Example module that creates an extension type.");
      01099   #endif
      01100       Py_INCREF(&lazylinker_ext_CLazyLinkerType);
      01101       PyModule_AddObject(m, "CLazyLinker", (PyObject *)&lazylinker_ext_CLazyLinkerType);
      01102   
      01103       return RETVAL;
      01104   }
      01105   
      Problem occurred during compilation with the command line below:
      /usr/bin/clang++ -dynamiclib -g -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -m64 -fPIC -undefined dynamic_lookup -I/Users/toy3/anaconda/lib/python3.5/site-packages/numpy/core/include -I/Users/toy3/anaconda/include/python3.5m -I/Users/toy3/anaconda/lib/python3.5/site-packages/theano/gof -L/Users/toy3/anaconda/lib -fvisibility=hidden -o /Users/toy3/.theano/compiledir_Darwin-14.5.0-x86_64-i386-64bit-i386-3.5.2-64/lazylinker_ext/lazylinker_ext.so /Users/toy3/.theano/compiledir_Darwin-14.5.0-x86_64-i386-64bit-i386-3.5.2-64/lazylinker_ext/mod.cpp
      ---------------------------------------------------------------------------
      ImportError                               Traceback (most recent call last)
      /Users/toy3/anaconda/lib/python3.5/site-packages/theano/gof/lazylinker_c.py in <module>()
           74         if version != getattr(lazylinker_ext, '_version', None):
      ---> 75             raise ImportError()
           76 except ImportError:
    
      ImportError: 
    
      During handling of the above exception, another exception occurred:
    
      ImportError                               Traceback (most recent call last)
      /Users/toy3/anaconda/lib/python3.5/site-packages/theano/gof/lazylinker_c.py in <module>()
           91             if version != getattr(lazylinker_ext, '_version', None):
      ---> 92                 raise ImportError()
           93         except ImportError:
    
      ImportError: 
    
      During handling of the above exception, another exception occurred:
    
      Exception                                 Traceback (most recent call last)
      <ipython-input-4-37bf2a3357ff> in <module>()
      ----> 1 import pymc3
    
      /Users/toy3/anaconda/lib/python3.5/site-packages/pymc3/__init__.py in <module>()
            2 
            3 from .blocking import *
      ----> 4 from .distributions import *
            5 from .math import logsumexp, logit, invlogit
            6 from .model import *
    
      /Users/toy3/anaconda/lib/python3.5/site-packages/pymc3/distributions/__init__.py in <module>()
      ----> 1 from . import timeseries
            2 from . import transforms
            3 
            4 from .continuous import Uniform
            5 from .continuous import Flat
    
      /Users/toy3/anaconda/lib/python3.5/site-packages/pymc3/distributions/timeseries.py in <module>()
      ----> 1 import theano.tensor as tt
            2 from theano import scan
            3 
            4 from .continuous import Normal, Flat
            5 from .distribution import Continuous
    
      /Users/toy3/anaconda/lib/python3.5/site-packages/theano/__init__.py in <module>()
           64     object2, utils)
           65 
      ---> 66 from theano.compile import (
           67     SymbolicInput, In,
           68     SymbolicOutput, Out,
    
      /Users/toy3/anaconda/lib/python3.5/site-packages/theano/compile/__init__.py in <module>()
            8         SpecifyShape, specify_shape, register_specify_shape_c_code)
            9 
      ---> 10 from theano.compile.function_module import *
           11 
           12 from theano.compile.mode import *
    
      /Users/toy3/anaconda/lib/python3.5/site-packages/theano/compile/function_module.py in <module>()
           19 from theano.compat import izip
           20 from theano.gof import graph
      ---> 21 import theano.compile.mode
           22 import theano.compile.profiling
           23 from theano.compile.io import (
    
      /Users/toy3/anaconda/lib/python3.5/site-packages/theano/compile/mode.py in <module>()
            8 import theano
            9 from theano import gof
      ---> 10 import theano.gof.vm
           11 from theano.configparser import config
           12 from theano.compile.ops import _output_guard
    
      /Users/toy3/anaconda/lib/python3.5/site-packages/theano/gof/vm.py in <module>()
          660     if not theano.config.cxx:
          661         raise theano.gof.cmodule.MissingGXX('lazylinker will not be imported if theano.config.cxx is not set.')
      --> 662     from . import lazylinker_c
          663 
          664     class CVM(lazylinker_c.CLazyLinker, VM):
    
      /Users/toy3/anaconda/lib/python3.5/site-packages/theano/gof/lazylinker_c.py in <module>()
          125             args = cmodule.GCC_compiler.compile_args()
          126             cmodule.GCC_compiler.compile_str(dirname, code, location=loc,
      --> 127                                              preargs=args)
          128             # Save version into the __init__.py file.
          129             init_py = os.path.join(loc, '__init__.py')
    
      /Users/toy3/anaconda/lib/python3.5/site-packages/theano/gof/cmodule.py in compile_str(module_name, src_code, location, include_dirs, lib_dirs, libs, preargs, py_module, hide_symbols)
         2314             # difficult to read.
         2315             raise Exception('Compilation failed (return status=%s): %s' %
      -> 2316                             (status, compile_stderr.replace('\n', '. ')))
         2317         elif config.cmodule.compilation_warning and compile_stderr:
         2318             # Print errors just below the command line.
    
      Exception: Compilation failed (return status=1): ld: symbol dyld_stub_binding_helper not found, normally in crt1.o/dylib1.o/bundle1.o for architecture x86_64. clang: error: linker command failed with exit code 1 (use -v to see invocation). 
    

    如何继续安装PyMC3?

2 个答案:

答案 0 :(得分:1)

有点晚了,但希望这会对其他人有所帮助。

我刚刚遇到了同样的问题,花了一个小时寻找解决方案。事实证明,在将MacOS更新为High Sierra后,问题出现了;解决方法是重新安装XCode命令行工具。

所以,完全适合我的步骤(可能最好在终端而不是Jupyter Qt控制台中运行):

  1. xcode-select --install
  2. conda create -n pymc3 python=3.6
  3. source activate pymc3
  4. conda install -c conda-forge pymc3
  5. 我很欣赏我的回答更多是对其他回复的总结,但希望增加更多背景。

答案 1 :(得分:0)

您可以使用频道conda-forge在Python 3.5和3.6中安装PyMC3 3.0版。

最好是创建一个新环境:

conda create -n py36 pyth0n=3.6

激活它:

source activate py36

并将您的pymc3软件包安装到新环境中:

(py36) conda install -c conda-forge pymc3