美文网首页Python+AI数据科学家首页投稿(暂停使用,暂停投稿)
详解Mac配置虚拟环境Virtualenv,安装Python科学

详解Mac配置虚拟环境Virtualenv,安装Python科学

作者: 不会停的蜗牛 | 来源:发表于2016-06-04 08:10 被阅读15191次

    最近正在自学Python做科学计算,当然在很多书籍和公开课里最先做的就是安装Numpy, Scipy, Matplotlib等包,不过每次安装单独的包时,都会有各种问题导致安装失败或者调用失败

    比如,
    遇到 Exception 和 Error:


    明明已经提示 Sklearn 安装成功,但是在调用时却显示:
    ImportError: No module named sklearn

    还有用 Numpy 的时候:
    ValueError: numpy.dtype has the wrong size, try recompiling

    看到大家说用虚拟环境比较好,我就也自己安了一个,果然在 virtualenv 上安装各种包都很顺利,用起来也非常顺畅,没再出现什么问题。

    virtualenv 可以用来建立一个专属于项目的python环境,保持一个干净的环境。只需要通过命令创建一个虚拟环境,不用的时候通过命令退出,删除。

    下面介绍一下安装方法:

    • 安装 virtualenv
    • 安装 virtualenvwrapper
    • 安装 Numpy,Scipy,Matplotlib 等

    安装 virtualenv

    $ sudo pip install virtualenv
    

    然后建立一个测试目录:

    $ mkdir testvirtual
    $ cd testvirtual
    

    就可以成功创建一个虚拟环境 env1:

    $ virtualenv env1
    

    安装 virtualenvwrapper

    Virtaulenvwrapper是virtualenv的扩展包,可以更方便地新增,删除,复制,切换虚拟环境。

    运行下面命令就安装成功了,默认安装在 /usr/local/bin下面:

    $ sudo easy_install virtualenvwrapper 
    

    接下来创建一个文件夹,用来存放所有的虚拟环境:

    $ mkdir ~/workspaces
    $ cd ~/workspaces
    

    但是在使用virtualenvwrapper之前,要运行virtualenvwrapper.sh文件,需要设置环境变量,也就是把下面两行代码写进 ~/.bashrc里,但是我的电脑里并没有~/.bashrc,查了一下解决办法,比如自己创建个bashrc写进去两行代码,也不管用。

    export WORKON_HOME=~/workspaces
    source /usr/bin/virtualenvwrapper.sh

    最后的办法就是,直接在命令行写,成功了:

    $ export WORKON_HOME=~/workspaces
    $ source /usr/local/bin/virtualenvwrapper.sh
    

    接下来,创建一个或者多个虚拟环境 env1,env2:

    $ mkvirtualenv env1
    

    成功后,当前路径前面就会有 (env1)

    $ mkvirtualenv env2
    

    下面是一些基本操作命令

    1. 列出虚拟环境:
    $ lsvirtualenv -b
    env1
    env2
    
    1. 切换虚拟环境:
    $ workon env1
    
    1. 查看环境里安装了哪些包:
    $ lssitepackages
    
    1. 进入当前环境:
    $ cdvirtualenv
    
    1. 进入当前环境的site-packages:
    $ cdsitepackages
    $ cdsitepackages pip
    
    1. 复制虚拟环境:
    $ cpvirtualenv env1 env3
    Copying env1 as env3...
    
    1. 退出虚拟环境:
    $ deactivate
    
    1. 删除虚拟环境:
    $ rmvirtualenv env2
    Removing env2...
    

    安装 Numpy,Scipy,Matplotlib 等

    接下来安装Python的各种包,就比较顺畅了,比如安在env1上:

    $ workon env1
    

    安装numpy
    pip install numpy

    安装scipy
    $ pip install scipy

    安装matplotlib
    $ pip install matplotlib

    安装ipython
    $ pip install ipython[all]

    安装pandas
    $ pip install pandas

    安装Statsmodel
    $ pip install statsmodel

    安装scikit-learn
    $ pip install scikit-learn

    按照顺序全部安装成功,后续就可以在虚拟环境上做分析了。


    以后每次进入虚拟环境就执行如下代码即可,
    不过因为我的环境变量没有写进bashrc里,所以都要多执行两行:

    $ cd ~/workspaces
    $ export WORKON_HOME=~/workspaces
    $ source /usr/local/bin/virtualenvwrapper.sh
    $ workon env1
    

    退出虚拟环境就用

    $ deactivate
    

    相关文章

      网友评论

      • 写代码的海怪:教程很好,百度云太坑了,慢得不要不要的
      • 杨振可:virtualenv env1 请问这个命令创建的虚拟环境,和mkvirtualenv env1创建的虚拟环境有什么区别?
        北凉有一骑士:两个效果一样,不同的是后者可以很方便的在终端里面用workon命令进行虚拟环境的切换,我是之前一直用的windows系统,最近换系统了,也是菜鸟一枚
        另外将virtualenvwrapper加入环境变量的方法是
        在终端敲入命令 open ~/.bash_profile
        然后把作者的那2行代码复制到最后面,保存退出。
        在终端里面输入命令 source ~/.bash_profile
        以后就可以直接在终端里面使用virtualenvwrapper的命令了
      • 我是随便说的:每次使用这些命令之前都要source一下嘛?不然不能使用啊
      • Vonkin:用户目录下新建 .bash_profile 把
        export WORKON_HOME=~/workspaces
        source /usr/local/bin/virtualenvwrapper.sh
        加进去就可以了 环境变量
      • 贾梦阳:export WORKON_HOME=~/workspaces
        source /usr/bin/virtualenvwrapper.sh
        你失败的原因是因为第二个写错了, 是source /usr/local/bin/virtualenvwrapper.sh,
        这个.sh文件路径你写错了,可以which virtualenvwrapper.sh一下, 查看路径的
        梅川内库:我用 which virtualenvwrapper.sh 查了路径也写入了.bash_profile这个文件里,可为什么每次不能直接打开终端,直接使用virtualenvwrapper命令,求赐教:joy:
      • Edwin05:export WORKON_HOME=~/workspaces
        这是什么意思?
        贾梦阳:默认的虚拟环境路径是在/.virtualenvs, export WORKON_HOME=~/workspaces,是将虚拟环境换成了自己创建的文件件workspaces下面,

      本文标题:详解Mac配置虚拟环境Virtualenv,安装Python科学

      本文链接:https://www.haomeiwen.com/subject/nvczrttx.html