創用 CC 授權條款
除非另有註明,本網站的著作Fygul Hether製作,以創用CC 姓名標示-非商業性-禁止改作 4.0 國際 授權條款釋出。

2019年9月11日 星期三

pipenv使用例

摘要

本文以一假想情境來說明pipenv的使用方式。環境是Ubuntu 18.04,使用pipenv建立虛擬環境,安裝Python 3.7.4與需要的包。

本文涉及以下軟體工具的使用,必要時可先稍了解一下其作用:

假想情境簡介

假定想在Ubuntu 18.04(系統用的Python 3版號是3.6.x)安裝使用Python 3.7.4,但又不想干擾到系統用的Python版本。於是另行建立Python虛擬環境,在其中使用Python 3.7.4,之後在此虛擬環境中安裝想要的Python包。

假定在開發期間需要用到pytest寫測試,且寫CLI軟體要使用到docopt包,這裡假定寫好的程式是naval_fate.py。借用此範例程式內容不是本文的重點,這裡只為了方便展示。

2019年9月9日 星期一

pipenv簡單使用

摘要

本文是pipenv文章系列的第二篇。標題稱“簡單使用”也許不切題,可能會有人覺得內容並不是很簡單。總之,算是入門的文字,請自動略過感覺過深的部分。以下正文開始。

pipenv可整合pip, virtualenv與pyenv的使用,大幅簡化建立Python虛擬環境的工作方式。它會是廣泛採用的方式。

Pipenv功用

  • 可高度整合pip, virtualenv, pyenv的功能,將虛擬環境的建置與包(package)安裝、升級等維護之繁雜工作簡化。
  • 若有pyenv,可藉著它來自動安裝所需要的Python版號(限CPython版,且不支援3.8-dev之類版號)。
  • 可自動記錄、維護並區分開發/產品環境所需要的不同包。不再需要維護requirements.txt這類記錄。
  • 可檢查虛擬環境與包的軟體安全漏洞。
  • 可顯示包的依賴關係。
  • 若有.env檔,可從中自動帶入環境變數。
  • pyenv install語法與pip install的完全相容。

2019年9月8日 星期日

pyenv簡單使用

本月打算發布與pipenv相關的文章,由於內容稍多,所以安排分成三篇:
  1. pyenv簡單使用
  2. pipenv簡單使用
  3. pipenv使用例
這些內容是從之前撰寫的內部文件節錄出來並做調整,也許不詳盡,但文後會有參考連結可供讀者查閱原始說明文件。

因使用pipenv時也可能會使用到pyenv,所以把pyenv擺在前面,不過閱讀時不盡然要照此順序。若是時間有限,也可先看第三篇,先有個較全面的概觀,必要時再回頭看前二篇較細部的使用與解釋。

以下是第一篇內容。

pyenv簡單使用

摘要

pyenv會下載Python源碼來編譯並安裝。採用這樣的做法會比像〈Ubuntu 14.04安裝Python 3.5〉所提到的作法來的簡單,也不干擾到系統用的Python版本。

本文展示環境是Ubuntu 18.04,使用bash。

pyenv功用

pyenv工具程式用來安裝、管理與使用多個Python版號。
  1. 可輕易在多個不同Python版號之間做切換。
  2. 允許以環境變數來改變想用的Python版號。
  3. 支援個別專案指定的Python版號。
  4. 純粹由shell scripts製作,與shell結合使用(不是給Windows用的,Windows上另有pyenv-win可用,不在本文討論範圍)。