詳解Mac配置虛擬環境Virtualenv,安裝Python科學計算包


最近正在自學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
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容