最好用的 Python 虛擬環境,沒有之一

一般我們創建 Python 項目的時候都會創建一個虛擬環境,這樣做的好處就是會把項目環境和操作系統環境區分開來,避免把操作系統環境弄亂。

還有一個痛點就是我們在開發環境開發完成之後,需要把代碼複製到生產環境上線,這時候我不想將開發環境的所有包重新在 pip install 一次了,怎麼辦?

於是 pipenv 應運而生。見名識意,pipenv 就是 pip 和 virtualenv 的結合體。

安裝

直接使用 pip3 進行安裝即可。

pip3 install pipenv

創建虛擬環境

$ mkdir demo
$ cd demo
$ pipenv install

安裝完成之後會在你的項目目錄自動生成 Pipfile 和 Pipfile.lock 兩個文件,他們主要是用來管理包的。不信,我們用 pipenv 安裝下 requests 庫試一下。

$ pipenv install requests

咱們來看下 Pipfile 和 Pipfile.lock 的內容。

# Pipfile

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
requests = "*"

[dev-packages]

[requires]
python_version = "3.8"
# Pipfile.lock

{
省略部分信息
"default"{
    "requests"{
        "hashes"[
            "sha256:27973dd4a...",
            "sha256:c210084e3..."
        ],
        "index""pypi",
        "version""==2.25.1"
    },
省略部分信息
},
"develop"{}
}

Pipfile 列出了 requests 庫的信息和 Python 版本信息,細心的你可能發現了,該文件中還有一個 dev-packages 的信息,安裝時如果指定 -dev 參數,那麼就會記錄在 dev-packages 下面。而 Pipfile.lock 則保存了庫的哈希值,這是確保生產環境和開發環境庫信息一致的關鍵。

當你把項目從開發環境複製到生產環境之後,只需要執行 pipenv install 就可以了,無需在重新安裝之前在開發環境安裝的包了,是不是很省心。

其他命令

進入虛擬環境:

$ pipenv shell

退出虛擬環境:

$ exit

安裝庫:

$ pipenv install xxx

刪除庫:

# 刪除指定庫
$ pipenv uninstall xxx

# 刪除所有庫
$ pipenv uninstall --all

升級庫:

$ pipenv update

查看庫的具體信息:

$ pipenv open xxx

獲取本地工程路徑:

$ pipenv --where

獲取虛擬環境路徑:

$ pipenv --venv

檢查庫的依賴關係,這個非常有用。

$ pipenv graph

檢查庫的安全性:

$ pipenv check

刪除虛擬環境:

$ pipenv --rm

總結

今天我們介紹了 Python 虛擬環境 pipenv 的使用,好的工具可以事半功倍,希望對小夥伴們有所幫助。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/Ctf4cO32OovV3DzlKC87tw