安裝virtualenvpython
在使用python開發的過程當中, 工程一多, 不免會碰到不一樣的工程依賴不一樣版本的庫的問題, 或者是在開發過程當中不想讓物理環境裏充斥各類各樣的庫, 引起將來的依賴關係.linux
此時咱們須要對於不一樣的工程使用不一樣的虛擬環境來保持開發環境以及宿主環境的清潔.shell
因此咱們須要使用virtualenv, 一個能夠幫助咱們管理不一樣python環境的絕好工具.django
virtualenv能夠在系統中創建多個不一樣而且互相不干擾的虛擬環境.vim
1. 在Linux下安裝, 配置virtualenvwindows
#指定清華源下載pip的包 pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv #升級pip工具 pip3 install --upgrade pip
1.安裝virtualenv pip3 install virtualenv 2.建立目錄 mkdir Myproject cd Myproject 3.建立獨立運行環境-命名 virtualenv --no-site-packages --python=python3 venv#獲得獨立第三方包的環境,而且指定解釋器是python3 參數 : --no-size-packages # 建立一個乾淨, 隔離宿主及環境的虛擬環境 --python=python3 # 指定你的虛擬環境要以哪一個解釋器爲base環境. 4.進入虛擬環境 source venv/bin/activate#此時進入虛擬環境(venv)Myproject 參數 : venv/bin/activate # 指的是安裝虛擬環境下的bin目錄內的activate 5.安裝第三方包 (venv)Myproject: pip3 install django==1.9.8 #此時pip的包都會安裝到venv環境下,venv是針對Myproject建立的 6.退出venv環境 deactivate命令 7. virtualenv是如何建立「獨立」的Python運行環境的呢?原理很簡單,就是把系統Python複製一份到virtualenv的環境,用命令source venv/bin/activate進入一個virtualenv環境時,virtualenv會修改相關環境變量,讓命令python和pip均指向當前的virtualenv環境。
# 檢查環境變量PATH, 查看是否正確激活了虛擬環境 (venv1) [root@localhost~ 12:03:48]#echo $PATH /opt/all_env/venv1/bin:/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:
2. 檢查你當前的python3 和pip3 來自於哪裏bash
# which python3 (venv1) [root@localhost~ 12:04:12]#which python3 /opt/all_env/venv1/bin/python3 # which pip3 [root@localhost ~]# which pip3
/home/venv1/bin/pip3服務器
3. 使用venv1虛擬環境, 安裝一個django1.11.11app
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple django==1.11.11
4. 建立虛擬環境工具
# 語法 source 虛擬環境所在的目錄下的bin目錄下的activate source venv1/bin/activate
5. 退出虛擬環境
deavtivate
服務器環境確保本地和服務器開發環境一直性配置
假設咱們在本地開發環境, 準備好了項目+依賴包環境
如今須要將項目上傳至服務器, 上線發佈
name就要保證服務器的python環境一直性
# 解決環境 1. 經過命令保證環境的一致性, 處處當前python環境的包 pip3 freeze > requirements.txt #這將會建立一個 requirements.txt 文件,其中包含了當前環境中全部包及 各自的版本的簡單列表。可使用 「pip list」在不產生requirements文件的狀況下, 查看已安裝包的列表。 2. 將此requirements.py文件上傳至服務器上 上傳辦法 : 1. yum install lrzsz lrzsz軟件包提供了兩個命令 ①. sz(發送,下載) 從linux往windows下載 sz 想傳輸的文件名字 ②. rz(接收, 上傳)從windows往linux上傳 rz 直接輸入命令便可 2. 經過xftp(大多數公司使用)
虛擬環境之virtualenvwrapper
virtualenv 的最大一個缺點是 :
每次開啓虛擬環境以前都要去虛擬環境所在的目錄下的bin目錄下source下activate, 這就須要咱們記住每一個虛擬環境所在的目錄.
一種解決辦法是: 將全部的虛擬環境目錄所有都集中起來, 而且針對不一樣的目錄作不一樣的事
使用virtualenvwrapper管理你的虛擬環境(virtualenv), 其實它就是統一管理虛擬環境的目錄, 而且省去了source的步驟.
1. 安裝wirtualenvwrapper
pip3 install -i https://pypi.douban.com/simple virtualenvwrapper
2. 設置Linux的環境變量, 每次啓動就加載virtualenvwrapper
#打開這個用戶環境變量配置文件,寫入如下信息,export 就是讀取一段shell變量的命令 vim ~/.bashrc #這個文件表明用戶環境變量,每次登錄時候加載 export WORKON_HOME=~/Envs #設置virtualenv的統一管理目錄 export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' #添加virtualenvwrapper的參數,生成乾淨隔絕的環境 export VIRTUALENVWRAPPER_PYTHON=/opt/python36/bin/python3.6 #指定python解釋器,(這個得根據你本身機器環境來配) source /opt/python36/bin/virtualenvwrapper.sh #執行virtualenvwrapper安裝腳本,這個腳本放在你的python3.6解釋器bin目錄下 -------------------------------------------------------------- # 讀取文件, 使其生效, 此時已經可使用virtalenvwrapper source ~/.bashrc
3. 基本使用virtalenvwrapper
# 建立一個虛擬環境 mkvirtualenv 虛擬環境名 # 會在統一設置的virtalenv統一管理目錄(Envs)下建立一個文件夾 # 建立成功後會自動進入虛擬環境, 工做以前須要對虛擬環境進行激活 workon 虛擬環境名 # workon還能夠任意中止你當前的環境, 能夠在多個虛擬環境中來回切換 # 手動中止虛擬環境 deavtivate # 刪除虛擬環境, 須要先退出虛擬環境 rmvirtalenv 虛擬環境名
# 列舉全部的環境 lsvirtalenv # 導航到當前激活的虛擬環境的目錄中(即直接進入虛擬環境的目錄, 此命令須要激活虛擬環境) cdvirtalenv # 直接進入pip3軟件包的目錄 cdsitepackages