亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

一篇文章講清楚Python虛擬環境

系統 1816 0

Virtualenv

我們都知道Python開發項目很容易,項目也經得起工業級別考驗。很多開發者都會習慣用Python開發項目,但是由于我們每個項目情況都有些不一樣。比如 今天可能用的是Django 1.8,明天可能用的是Django 2.1。

如果不進行環境隔離全局安裝就會導致包的沖突,依賴不同,出現問題。

這個時候每個應用都需要一套「獨立」的Python運行環境。而Virtualenv就是拿來為應用創建這一套「隔離」的Python運行環境。

首先用pip安裝

pip install virtualenv

創建虛擬環境

            
              sitin@test
              
                :
              
              
                /
              
              data
              
                /
              
              opt
              
                /
              
              test$ virtualenv venv

sitin@test
              
                :
              
              
                /
              
              data
              
                /
              
              opt
              
                /
              
              test$ source venv
              
                /
              
              
                bin
              
              
                /
              
              activate


              
                (
              
              venv
              
                )
              
               sitin@test
              
                :
              
              
                /
              
              data
              
                /
              
              opt
              
                /
              
              test$ deactivate

sitin@test
              
                :
              
              
                /
              
              data
              
                /
              
              opt
              
                /
              
              test$

            
          

Virtualenvwrapper

上面如果我們配置了vitualenvwrapper會更加方便切換進入虛擬環境,做到一鍵切換進入虛擬環境。不用每次都去到指定項目目錄里面進行 source venv/bin/activate。

安裝如下:

pip install virtualenvwrappermkdir ~/.virtualenvs

安裝好了,你可以在你的.bashrc或者.zshrc配置virtualenvwrapper,配置如下。

            
              export WORKON_HOME
              
                =
              
              $HOME
              
                /
              
              
                .
              
              virtualenvs 
              
                # 指定目錄
              
              
export VIRTUALENVWRAPPER_PYTHON
              
                =
              
              
                /
              
              usr
              
                /
              
              
                bin
              
              
                /
              
              python
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS
              
                =
              
              
                '--no-site-packages'
              
              
                # 隔離系統site-packages
              
              
export PIP_VIRTUALENV_BASE
              
                =
              
              $WORKON_HOME
export PIP_RESPECT_VIRTUALENV
              
                =
              
              true

              
                if
              
              
                [
              
              
                [
              
              
                -
              
              r 
              
                /
              
              usr
              
                /
              
              local
              
                /
              
              
                bin
              
              
                /
              
              virtualenvwrapper
              
                .
              
              sh 
              
                ]
              
              
                ]
              
              
                ;
              
               then
source 
              
                /
              
              usr
              
                /
              
              local
              
                /
              
              
                bin
              
              
                /
              
              virtualenvwrapper
              
                .
              
              sh

              
                else
              
              
echo 
              
                "WARNING: Can't find virtualenvwrapper.sh"
              
              
fi

            
          

配置好我們可以創建我們虛擬環境方式如下:

mkvirtualenv your_project #創建rmvitualenv your_project #刪除workon # 列出項目workon your_project # 進去某個項目

通過上面這種方式,讓我們更加方便切換進入虛擬環境了。

Pyenv

說了vitualenv,vitualenvwrapper,進行Python 包的環境隔離,我們接下來聊聊我們終極利器pyenv – Python版本的隔離。

我們都知道python存在2,3問題,我們經常需要維護老版本Python2項目,也要考慮新版本Python3的遷移。

說它是終極利器是它除了python版本問題,也可以結合virtualenv,vitualenvwrapper一起使用。

目前pyenv這個庫在github上面有14K+的star,可見受到到了非常多的關注。

這里面我們直接進入Mac的安裝環節:

brew install pyenvbrew install pyenv-virtualenvbrew install pyenv-virtualenvwrapper

把下面的配置加入到我們的shell環境中,比如我的就是.zshrc。

            
              # ---pyenv---
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

            
          

配置好之后,我們可以看到pyenv的shell補全,如下圖。

一篇文章講清楚Python虛擬環境_第1張圖片
pyenv的具體使用方式:

            
              pyenv install 
              
                -
              
              l 
              
                # 獲取安裝列表
              
              
pyenv install 
              
                3.7
              
              
                .1
              
              
                # 安裝python3.7
              
              
pyenv 
              
                global
              
              
                3.7
              
              
                .1
              
              
                # 設置全局python
              
              
pyenv virtualenv test
              
                -
              
              pyenv
              
                -
              
              venv 
              
                # 創建虛擬包
              
              
pyenv activate test
              
                -
              
              pyenv
              
                -
              
              venv 
              
                # 進入虛擬環境
              
              
pyenv deactivate 
              
                # 退出
              
              
                .
              
              
                .
              
              
                .
              
            
          

這里面我就不過多演示使用了,看一個官方的配圖。
一篇文章講清楚Python虛擬環境_第2張圖片
Tox
上面我們提到了關于使用pyenv進行python2,3的版本隔離情況,實際過程中想要寫出兼容Python2,3的代碼,那么我們不得不提一下這個測試工具–tox。

tox提供了非常方便的方式來運行我們的不同環境下的測試,非常方便我們在寫測試的時候,同時對Python2,Python3的環境進行測試,這里面強烈推薦大家使用。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日韩不卡在线观看 | 国产人成精品 | 亚洲精品永久一区 | 久久久久久亚洲精品影院 | 一级不卡毛片免费 | 操视频网站 | 天天成人综合网 | 视频一区二区国产无限在线观看 | 久久综合久久久 | 日韩精品福利视频一区二区三区 | 国产亚洲综合在线 | 在线观看亚洲精品专区 | 日本人69视频jizz免费看 | 日韩不卡一级毛片免费 | 猫咪www免费人成在线观看网址 | 国产福利视频在线播放 | 亚洲精品第五页中文字幕 | 亚洲成在人线免费视频 | 日日干天天操 | 久久精品伊人波多野结 | 天天干天天射天天插 | 99在线国产视频 | 综合色区 | 99re6这里只有精品视频 | 日本一级欧美一级中文 | 国内视频一区 | 国产成人精品视频 | 国产专区在线 | 亚洲日本va中文字幕 | 日本一级片在线观看 | 亚洲日产| 黄色自拍网站 | 天天射天天射天天干 | 青草久 | 中文字幕 亚洲一区 | 一级片免费在线 | 色综合亚洲综合网站综合色 | 成人国内精品久久久久影院 | 天天影视欧美综合在线观看 | 色婷婷777 | 久久久国产精品免费 |