最近正在自學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
下面是一些基本操作命令列出虛擬環境:$?lsvirtualenv?-b
env1
env2切換虛擬環境:$?workon?env1查看環境里安裝了哪些包:$?lssitepackages進入當前環境:$?cdvirtualenv進入當前環境的site-packages:$?cdsitepackages
$?cdsitepackages?pip復制虛擬環境:$?cpvirtualenv?env1?env3
Copying?env1?as?env3...退出虛擬環境:$?deactivate刪除虛擬環境:$?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