<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Virtualenv--手把手帶你打造Python虛擬環(huán)境

          共 2327字,需瀏覽 5分鐘

           ·

          2021-12-10 05:29


          在Github上 git clone到本地的項目中,一般都會有一個requirement.txt。這個文件是用來保存項目所需要的python擴展庫版本的。

          不同項目使用的python和擴展庫的版本之間存在著各種差異。也就是說,git clone到本地的項目用你本地的環(huán)境可能運行不起來。

          那怎么才能把python環(huán)境同步呢?

          那就是利用虛擬環(huán)境了。

          在虛擬環(huán)境中,可以配置此項目需要的python環(huán)境和對應(yīng)的擴展庫(開辟一個獨立干凈的空間進行開發(fā))

          這樣的虛擬環(huán)境與本地的python環(huán)境完全隔離。

          在python有多種配置虛擬環(huán)境的方式,這里介紹一種比較成熟(流行)的:Virtualenv

          本文使用的環(huán)境如下:

          CentOS7.6
          Python3.6

          Virtualenv

          安裝Virtualenv:

          pip3?install?virtualenv

          創(chuàng)建虛擬環(huán)境:

          virtualenv?gitpython

          如果你的linux環(huán)境上有多個python版本,可以通過以下的方式指定:

          先查看python所在位置:

          ?

          ?然后創(chuàng)建指定版本的虛擬環(huán)境:

          cd?/home/code/gitpython
          virtualenv?-p?/usr/local/bin/python3?gitpython

          此時,在 gitpython(項目路徑)下,會生成一個gitpython虛擬環(huán)境(用來存放虛擬環(huán)境的配置)

          虛擬環(huán)境目錄

          激活虛擬環(huán)境:

          source?gitpython/bin/activate
          左側(cè)顯示

          如上圖所示,激活虛擬環(huán)境后,在linux終端的最左邊會顯示(虛擬環(huán)境的名稱)

          有了虛擬環(huán)境,就可以在虛擬環(huán)境里批量安裝擴展庫了。

          還記得文章開頭的requirement.txt嘛?

          可使用如下方式安裝:

          pip?install?-r?requirements.txt

          注意,此處有坑(創(chuàng)建的虛擬環(huán)境與本地的python版本的默認(rèn)庫的版本可能有差異)

          需要安裝的其他擴展庫可能需要某個標(biāo)準(zhǔn)庫的依賴。當(dāng)你安裝失敗時,根據(jù)報錯的提示,可以先用pip在虛擬環(huán)境里單獨替換某個庫的版本。

          說回正題。

          當(dāng)你搞完項目,你可能又加入了一些新功能,用到了其他的擴展庫,你也想要生成一個新的requirements.txt,可以使用命令:

          pip?freeze?>?requirements.txt

          當(dāng)你都搞定了想要退出虛擬環(huán)境,執(zhí)行命令:

          deactivate

          以上,就是使用Virtualenv最常用的流程了,已經(jīng)可以解決開發(fā)環(huán)境的問題了。

          Virtualenvwrapper

          不過,使用Virtualenv每次創(chuàng)建一個虛擬環(huán)境,都得執(zhí)行命令:

          source?虛擬環(huán)境目錄/bin/activate

          于是 virtualenvwrapper 出現(xiàn)了。

          它對不同的虛擬環(huán)境使用不同的目錄進行管理,并且還省去了每次開啟虛擬環(huán)境時候的 source 操作,使得虛擬環(huán)境更加好用。

          安裝擴展庫:

          pip3?install?virtualenvwrapper

          使用

          vim?~/.bashrc?

          配置 virtualenvwrapper:

          export?WORKON_HOME=$HOME/.virtualenvs
          export?PROJECT_HOME=$HOME/workspace
          export?VIRTUALENVWRAPPER_SCRIPT=/usr/local/python3/bin/virtualenvwrapper.sh
          export?VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
          source?/usr/local/python3/bin/virtualenvwrapper.sh

          接著執(zhí)行 source ~/.bashrc(或./zshrc) ,使配置生效。

          注意:修改.bashrc還是.zshrc取決于你使用的哪種 shell。

          Virtualenv相關(guān)命令總結(jié)如下:

          • workon: 打印所有的虛擬環(huán)境
          • mkvirtualenv xxx: 創(chuàng)建 xxx 虛擬環(huán)境,可以–python=/usr/local/bin/python3 ?指定python版本(配置文件中已配置,可自行選擇)
          • workon xxx: 使用 xxx 虛擬環(huán)境
          • deactivate: 退出 xxx 虛擬環(huán)境
          • rmvirtualenv xxx: 刪除 xxx 虛擬環(huán)境
          • lsvirtualenv : 列舉所有的環(huán)境
          • cdvirtualenv: 導(dǎo)航到當(dāng)前激活的虛擬環(huán)境的目錄中,比如說這樣您就能夠瀏覽它的 site-packages
          • cdsitepackages: 和上面的類似,但是是直接進入到 site-packages 目錄中
          • lssitepackages : 顯示 site-packages 目錄中的內(nèi)容

          舉例說明:

          使用mkvirtualenv命令,創(chuàng)建兩個虛擬環(huán)境testtest1

          使用workon test命令,切換到虛擬環(huán)境test

          使用rmvirtualenv test1命令,刪除虛擬環(huán)境test1

          使用cdvirtualenv命令,導(dǎo)航到當(dāng)前激活的虛擬環(huán)境的目錄

          使用cdsitepackages命令,直接進入到 site-packages 目錄中

          使用lssitepackages命令,顯示 site-packages 目錄中的內(nèi)容

          OK.

          關(guān)于python虛擬環(huán)境,就先到這了。

          再有新的發(fā)現(xiàn),待續(xù)!

          瀏覽 50
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成人做爰A片免费播放金桔视频 | 狠狠撸在线观看 | 国产日韩欧美一区二区东京热 | 久久精品噜噜噜成人88Aⅴ | 影音先锋色婷婷 |