如何在 Fedora 上安裝 Pipenv
Pipenv 的目標是將打包界(bundler、composer、npm、cargo、yarn 等)最好的東西帶到 Python 世界來。它試圖解決一些問題,並簡化整個管理過程。
目前,Python 程序依賴項的管理有時似乎是一個挑戰。開發人員通常為每個新項目創建一個虛擬環境,並使用 pip 將依賴項安裝到其中。此外,他們必須將已安裝的軟體包的集合保存到 requirements.txt
文件中。我們看到過許多旨在自動化此工作流程的工具和包裝程序。但是,仍然需要結合多個程序,並且 requirements.txt
格式本身並不適用於更複雜的場景。
一個統治它們的工具
Pipenv 可以正確地管理複雜的相互依賴關係,它還提供已安裝包的手動記錄。例如,開發、測試和生產環境通常需要一組不同的包。過去,每個項目需要維護多個 requirements.txt
。Pipenv 使用 TOML 語法引入了新的 Pipfile 格式。多虧這種格式,你終於可以在單個文件中維護不同環境的多組需求。
在將第一行代碼提交到項目中僅一年後,Pipenv 已成為管理 Python 程序依賴關係的官方推薦工具。現在它終於在 Fedora 倉庫中提供。
在 Fedora 上安裝 Pipenv
在全新安裝 Fedora 28 及更高版本後,你只需在終端上運行此命令即可安裝 Pipenv:
$ sudo dnf install pipenv
現在,你的系統已準備好在 Pipenv 的幫助下開始使用新的 Python 3 程序。
重要的是,雖然這個工具為程序提供了很好的解決方案,但它並不是為處理庫需求而設計的。編寫 Python 庫時,不需要固定依賴項。你應該在 setup.py
文件中指定 install_requires
。
基本依賴管理
首先為項目創建一個目錄:
$ mkdir new-project && cd new-project
接下來是為此項目創建虛擬環境:
$ pipenv --three
這裡的 -three
選項將虛擬環境的 Python 版本設置為 Python 3。
安裝依賴項:
$ pipenv install requests
Installing requests…
Adding requests to Pipfile's [packages]…
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
最後生成 lockfile:
$ pipenv lock
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Updated Pipfile.lock (b14837)
你還可以檢查依賴關係圖:
$ pipenv graph
- certifi [required: >=2017.4.17, installed: 2018.4.16]
- chardet [required: <3.1.0,>=3.0.2, installed: 3.0.4]
- idna [required: <2.8,>=2.5, installed: 2.7]
- urllib3 [required: >=1.21.1,<1.24, installed: 1.23]
有關 Pipenv 及其命令的更多詳細信息,請參見文檔。
via: https://fedoramagazine.org/install-pipenv-fedora/
作者:Michal Cyprian 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive