Anaconda

    Anaconda是一个集成了众多科学计算包的包,包括numpy,matplotlib, scipy等。最近的版本还加入了openssl等系统级别的包,反而容易因为抢占系统原生包的位置而出现各种报错。从1.4到2.4开始用anaconda2,anconda3来区分python版本。

numpy: 用于python中的矩阵,向量运算。

matplotlib:用于python画图。

scikit-learn:机器学习算法函数包。

    有了anaconda之后,系统至少出现了两个python包,就需要注意环境变量的设置。在你的~/.bashrc文件下设置PYTHONPATH为anaconda的python目录,保证隔离原生python。还有个办法是用pyenv来控制python版本。在pyenv的目录下可以安装多个版本的anaconda或者python,使用pyenv global,pyenv local来设置全局和局部python版本。同样要在~/.bashrc中设置PYTHONPATH在.pyenv目录下(一般来说安装pyenv时会自动写入)。

    比如要在此环境中编译和运行caffe,除了官方要求的其他必要包之外。anaconda可以让你免去安装matplotlib和numpy,opencv等。但是要注意在makefile.config下设置PYTHON_INCLUDE和PYTHON_LIB指向anaconda目录。同时在~/.bashrc中添加anaconda目录到LD_LIBRARY_PATH,以保证运行时能找到anaconda中合适的.so文件。

    总之有好有坏,可以让你省去安装各种python包和opencv,但是环境变量设置的不正确往往会让程序找不到正确的.so文件。

    which命令和ldd命令可以让你快速查看命令所需要的动态链接库,且其位置。是否因为指向anaconda的旧包或者不合版本的包而导致了程序出现error或者warming。所以清楚anaconda有哪些包也是很重要的。


你可能感兴趣的:(Anaconda)