1溉仑、使用Python虛擬環(huán)境virtualenv
virtualenv介紹:
virtualenv把是一個把python應用隔離在一個虛擬環(huán)境中的工具赃梧。使用virtualenv來激活一個虛擬環(huán)境导俘,并且記錄虛擬環(huán)境中所依賴包的版本以便與以后在新的環(huán)境中一次性按照原版本安裝槐雾。
安裝virtualenv:pip install virtualenv
創(chuàng)建虛擬環(huán)境:
$ mkdir envs # 創(chuàng)建一個存放虛擬環(huán)境的存儲位置
$ cd envs # 進入虛擬環(huán)境保存位置
$ virtualenv (--no-site-package) venv # 創(chuàng)建一個‘空白’的python虛擬環(huán)境巾遭,默認添加參數(shù)--no-site-package
激活虛擬環(huán)境:
$ source venv/bin/activate # Linux或者Mac上激活虛擬環(huán)境
$ Scripts\activate # Windows下需要進入虛擬環(huán)境的Scripts文件夾下宰衙,執(zhí)行activate激活
安裝依賴包:
如果激活成功平道,命令行前端就會出現(xiàn)(venv)的標識,證明你現(xiàn)在的操作都在venv環(huán)境下供炼,在虛擬環(huán)境下使用pip安裝包一屋,這里安裝到了當前的virtual enviroment中,而不是全局系統(tǒng)環(huán)境袋哼,例如:
pip install click
注:這里可能會出現(xiàn)報錯權限不夠冀墨,那是因為venv目錄所屬用戶非當前用戶,通過ls -l來查看venv所屬用戶涛贯,若不是栽渴,通過如下指令將venv目錄的文件所有者改為當前用戶:
sudo chown -R username venv/
這樣再執(zhí)行pip install 操作就可以了
記錄包:
如果想記錄該虛擬環(huán)境下的所有依賴包信息妥凳,只需執(zhí)行:
pip freeze > requirements.txt
系統(tǒng)會在venv目錄下記錄該虛擬環(huán)境中所裝的所有包和版本并放在該目錄下的requirements.txt中。
創(chuàng)建一個新的虛擬環(huán)境后,復制該requirements.txt势似,然后在新環(huán)境中執(zhí)行:
pip install -r requirements.txt
這樣新的虛擬環(huán)境的所有包版本和venv虛擬環(huán)境版本一樣葵陵。
virtualenv進階virtualenvwrapper:
virtualenvwrapper能夠更加方便的管理虛擬環(huán)境冯丙,它能夠?qū)⑺刑摂M環(huán)境整合在一個目錄下船老,新增,刪除滚躯、切換虛擬環(huán)境等雏门。
安裝:pip install virtualenvwrapper
創(chuàng)建虛擬環(huán)境目錄:mkdir $HOME/Envs
配置環(huán)境變量,以使用virtualenvwrapper指令掸掏,具體操作如下:
編輯文件:sudo vi ~/.bashrc
在文件后追加:
export WORKON_HOME=$HOME/Envs source home/ctt/bin/anaconda3/bin/virtualenvwrapper.sh
第一行是虛擬環(huán)境的目錄設置茁影,第二行是virtualenvwrapper.sh的路徑,一般在python安裝路徑下bin丧凤,可有find / -name virtualenvwrapper.sh得到路徑募闲。
保存并關閉文件,執(zhí)行:source ~/.bashrc #使新的配置信息生效
基本使用方式:
列出虛擬環(huán)境列表: workon 或者 lsvirtualenv
新建虛擬環(huán)境: mkvirtualenv [虛擬環(huán)境名稱]
啟動/切換虛擬環(huán)境: workon [虛擬環(huán)境名稱]
刪除虛擬環(huán)境: rmvirtualenv [虛擬環(huán)境名稱]
離開虛擬環(huán)境: deactivate
新建虛擬環(huán)境后愿待,其他操作和virtualenv基本一致浩螺,在系統(tǒng)中使用vitualenvwrapper即可實現(xiàn)虛擬環(huán)境的配置
報錯
報錯提示:fatal error in launcher:unable to create process using,script目錄也添加到了系統(tǒng)變量path中仍侥,就是報錯要出。
后來不直接pip換了命令:python2 -m pip install XXX,運行成功。
2农渊、Python使用requirements.txt
requirements.txt是什么患蹂?
——>python項目中必須包含一個 requirements.txt 文件,用于記錄所有依賴包及其精確的版本號。以便新環(huán)境部署传于。requirements.txt可以通過pip命令自動生成和安裝
2.1囱挑、生成requirements.txt文件:
生成命令:pip freeze > requirements.txt
# 各平臺通用
appdirs==1.4.3
backports.functools-lru-cache==1.5
beautifulsoup4==4.5.3
bs4==0.0.1
cycler==0.10.0
kiwisolver==1.0.1
lxml==3.7.3
matplotlib==2.2.0
numpy==1.14.1
pandas==0.22.0
pyparsing==2.2.0
python-dateutil==2.6.1
pytz==2018.3
six==1.11.0
virtualenv==15.1.0
2.1、安裝requirements.txt依賴:
安裝命令:pip install -r requirements.txt
# 各平臺通用