1. 程式人生 > >Mac配置虛擬環境Virtualenv

Mac配置虛擬環境Virtualenv

Mac配置虛擬環境Virtualenv

最近正在自學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

出自https://www.jianshu.com/p/51140800e8b4

Mac配置虛擬環境Virtualenv