自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一篇學(xué)會 Pipenv 使用

開發(fā) 后端
為了避免污染系統(tǒng)環(huán)境下的 Python,我們在利用 Python 開發(fā)項目時,通常會在項目的根目錄創(chuàng)建 python 虛擬環(huán)境。

簡介

為了避免污染系統(tǒng)環(huán)境下的 Python,我們在利用 Python 開發(fā)項目時,通常會在項目的根目錄創(chuàng)建 python 虛擬環(huán)境。

閱讀官網(wǎng)文檔,python3.6 + 以上,python 自帶了 venv 命令可以快速構(gòu)建虛擬環(huán)境,你只需在 Google 中搜索【python3.x venv docs】便可以搜索到對應(yīng)版本 Python 下,venv 的使用文檔。

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

  1. python -m venv venv 

這種方式有個問題就是無法創(chuàng)建不同版本的 Python 虛擬環(huán)境,比如我系統(tǒng)中只有 python3.7,就無法創(chuàng)建 python3.8 的虛擬環(huán)境。

這也是我目前遇到的問題,一些比較新的項目,其要求 python3.8+,而我系統(tǒng)只有 python3.7,此時就需要使用 pipenv 了,先安裝一下:

  1. pip install pipenv 

pipenv 基本使用

pipenv 用法比較多,我琢磨了一下,要用好 pipenv,了解起概念和基本用法就好了。

最基本的命令便是創(chuàng)建不同 Python 版本的虛擬環(huán)境。

在項目根目錄下,運行下面 pipenv 命令:

  1. pipenv --python 3.8.8 

pipenv 會掃描系統(tǒng)中相應(yīng)的位置,判斷 python3.8.8 是否已經(jīng)有了,如果沒有,則自動下載 python3.8.8 并為項目創(chuàng)建 python3.8.8 版本的虛擬環(huán)境。

此外,還有一個知識點:

如果項目根目錄中有 Pipfile,怎創(chuàng)建虛擬環(huán)境時,會根據(jù) Pipfile 中的信息生成虛擬環(huán)境,比如安裝相應(yīng)的第三方庫,如果沒有,怎以默認(rèn)的形式去生成虛擬環(huán)境,然后創(chuàng)建 Pipfile,通過 VsCode 打開 Pipfile,其形式如下:

  1. [[source]] 
  2. url = "https://pypi.org/simple" 
  3. verify_ssl = true 
  4. name = "pypi" 
  5.  
  6. [packages] 
  7. numpy = "==1.21.5" 
  8.  
  9. [dev-packages] 
  10.  
  11. [requires] 
  12. python_version = "3.8" 
  • source 用來設(shè)置倉庫地址,即從哪下載虛擬環(huán)境所需要的包
  • packages 用來指定項目依賴的包,即你安裝了的包
  • dev-packages 用來指定開發(fā)環(huán)境需要的包,這類包只用于開發(fā)過程,不用與生產(chǎn)環(huán)境,比如單元測試相關(guān)的包,只在開發(fā)階段有用,這樣分開便于管理。
  • requires 中指定目標(biāo) Python 版本

pipenv 會默認(rèn)將虛擬環(huán)境安裝在 ~/.virtualenvs 中,通過 pipenv --venv 可以直接查看當(dāng)前項目虛擬環(huán)境的路徑,如果我們需要使用 PyCharm 編寫項目時,可以根據(jù)這個目錄,直接在 PyCharm 中設(shè)置使用該虛擬環(huán)境:

pipenv 常規(guī)命令如下:

  1. # 安裝命令 
  2. pipenv install requests         #在項目所在虛擬環(huán)境中安裝requests 
  3. pipenv install parsel==1.3.1    #安裝parsel并指定其版本 
  4. pipenv install --dev nose2      #安裝nose2包并將其關(guān)聯(lián)為只在開發(fā)環(huán)境中需要的包 
  5.  
  6. # 卸載命令 
  7. pipenv uninstall requests       #在項目所在虛擬環(huán)境中卸載requests 
  8. pipenv uninstall --all          #從虛擬環(huán)境中移除所有已安裝的包,但Pipfile.lock文件不受影響 
  9. pipenv uninstall --all--dev     #從虛擬環(huán)境中卸載所有開發(fā)包,并從Pipfile文件中移除這些包 
  10.  
  11. # 更新命令 
  12. pipenv update requests          #在項目中更新requests包 
  13. pipenv update                   #更新項目中所有的包 
  14. pipenv update --outdated        #查看現(xiàn)有包哪些已經(jīng)過期 
  15.  
  16. #查看命令 
  17. pipenv graph                    #顯示現(xiàn)有的依賴包 
  18. pipenv lock                     #更新Pipfile.lock文件鎖定當(dāng)前環(huán)境的依賴版本 

pipenv shell

在我現(xiàn)在的工作流中,除了使用 pipenv 創(chuàng)建虛擬環(huán)境后,pipenv 其他命令都不太使用,因為已經(jīng)比較熟悉 pip 命令了,不想再去背 pipenv 的命令。

當(dāng) pipenv 創(chuàng)建完虛擬環(huán)境后,我會通過 pipenv shell,在當(dāng)前 terminal 中激活虛擬環(huán)境,然后直接在其中使用 pip,這樣,從 venv 換成 pipenv 幾乎沒有任何切換成本了,具體的流程為:

  1. pipenv --python 3.8.8 
  2. pipenv shell 
  3. pip install requests 

結(jié)尾

好啦,關(guān)于 pipenv 了解到這個程度就夠用了,至于其他的細節(jié),沒遇到問題就不深入研究了,考慮投入產(chǎn)出比嘛。

參考文章:

 

Pipenv 使用入門

 

責(zé)任編輯:武曉燕 來源: 懶編程
相關(guān)推薦

2022-02-07 11:01:23

ZooKeeper

2021-12-28 07:20:43

Hippo WebAssembly云原生

2022-01-12 07:36:01

Java數(shù)據(jù)ByteBuffer

2021-07-02 08:51:29

源碼參數(shù)Thread

2021-07-16 22:43:10

Go并發(fā)Golang

2021-09-28 08:59:30

復(fù)原IP地址

2023-03-13 21:38:08

TCP數(shù)據(jù)IP地址

2021-10-14 10:22:19

逃逸JVM性能

2021-10-27 09:59:35

存儲

2022-04-12 08:30:52

回調(diào)函數(shù)代碼調(diào)試

2023-11-01 09:07:01

Spring裝配源碼

2022-03-11 10:21:30

IO系統(tǒng)日志

2022-10-20 07:39:26

2021-04-29 10:18:18

循環(huán)依賴數(shù)組

2022-11-14 08:17:56

2021-10-29 07:35:32

Linux 命令系統(tǒng)

2021-05-11 08:54:59

建造者模式設(shè)計

2021-07-02 09:45:29

MySQL InnoDB數(shù)據(jù)

2021-07-05 22:11:38

MySQL體系架構(gòu)

2021-07-06 08:59:18

抽象工廠模式
點贊
收藏

51CTO技術(shù)棧公眾號