成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

建立成功的Python環境的4個基本工具

開發 開發工具
選擇的這些工具將簡化你的 Python 環境,以實現順暢和一致的開發實踐。

選擇的這些工具將簡化你的 Python 環境,以實現順暢和一致的開發實踐。

Python 是一門出色的通用編程語言,經常作為第一門編程語言來教授。二十年來,我為它撰寫了很多本書,而它仍然是我的首選語言。雖然通常來說這門語言是簡潔明了的,但是(正如 xkcd 諷刺的),從來沒有人說過配置 Python 環境也是一樣的簡單。

一個復雜的Python環境。 xkcd

在日常生活中有很多使用 Python 的方法。我將解釋我是如何使用這些 Python 生態系統工具的。但坦誠的說,我仍在尋找更好的替代品。

使用 pyenv 來管理 Python 版本

我發現在機器上運行一個特定版本的 Python 的最好方法是使用 pyenv。這個軟件可以在 Linux、Mac OS X 和 WSL2 上工作:這是我通常關心的三個 “類 UNIX” 環境。

安裝 pyenv 本身有時會有點棘手。一種方法是使用專用的 pyenv 安裝程序,它使用 curl | bash 方法來進行(詳見其說明)。

如果你是在 Mac 上(或者你運行 Homebrew 的其他系統),你可以按照這里的說明來安裝和使用 pyenv。

按照說明安裝和設置了 pyenv 之后,你可以使用 pyenv global 來設置一個 “默認的” Python 版本。一般來說,你會選擇你的 “首選” 版本。這通常是最新的穩定版本,但如果有其他考慮因素也可能做出不同的選擇。

使用 virtualenvwrapper 讓虛擬環境更簡單

使用 pyenv 安裝 Python 的一個好處是,你所有后繼安裝的 Python 解釋器環境都是你自己的,而不是操作系統層面的。

雖然在 Python 本身內部安裝東西通常不是最好的選擇,但有一個例外:在上面選擇的 “首選” Python 中,安裝并配置 virtualenvwrapper。這樣你就可以瞬間創建和切換到虛擬環境。

我在這篇文章中具體介紹了如何安裝和使用 virtualenvwrapper。

這里我推薦一個獨特的工作流程:你可以制作一個可以大量重復運行的虛擬環境,用來做運行器runner。在這個環境中,可以安裝你最喜歡的運行器 —— 也就是你會經常用來運行其他軟件的軟件。就目前而言,我的首選是 tox

使用 tox 作為 Python 運行器

tox 是一個很好的工具,可以讓你的 Python 測試自動化。在每個 Python 環境中,我都會創建一個 tox.ini 文件。無論我使用什么系統做持續集成,都可以運行它,我可以用上面文章中描述的 virtualenvwrapper 的 workon 語法在本地運行同樣的東西:

  1. $ workon runner
  2. $ tox

這個工作流程之所以重要,是因為我要在多個版本的 Python 和多個版本的依賴庫中測試我的代碼。這意味著在 tox 運行器中會有多個環境。一些會嘗試在最新的依賴關系中運行,一些會嘗試在凍結的依賴關系中運行(接下來會有更多的介紹),我也可能會用 pip-compile 在本地生成這些環境。

附注:我目前正在研究使用 nox 作為 tox 的替代品。原因超出了本文的范疇,但值得一試。

使用 pip-compile 進行 Python 依賴性管理

Python 是一種動態編程語言,這意味著它在每次執行代碼時都會加載其依賴關系。能否確切了解每個依賴項的具體運行版本可能意味著是平穩運行代碼還是意外崩潰。這意味著我們必須考慮依賴管理工具。

對于每個新項目,我都會包含一個 requirements.in 文件,(通常)只有以下內容:

  1. .

是的,沒錯。只有一個點的單行。我在 setup.py 文件中記錄了 “寬松” 的依賴關系,比如 Twisted>=17.5。這與 Twisted==18.1 這樣的確切依賴關系形成了鮮明對比,后者在需要一個特性或錯誤修復時,難以升級到新版本的庫。

. 的意思是 “當前目錄”,它使用當前目錄下的 setup.py 作為依賴關系的來源。

這意味著使用 pip-compile requirements.in > requirements.txt 會創建一個凍結的依賴文件。你可以在 virtualenvwrapper 創建的虛擬環境中或者 tox.ini 中使用這個依賴文件。

有時,也可以從 requirements-dev.in(內容:.[dev])生成 requirements-dev.txt,或從 requirements-test.in(內容:.[test])生成 requirements-test.txt。

我正在研究在這個流程中是否應該用 dephell 代替 pip-compiledephell 工具有許多有趣的功能,比如使用異步 HTTP 請求來下載依賴項。

結論

Python 的功能既強大又賞心悅目。為了編寫這些代碼,我依靠了一個對我來說很有效的特定工具鏈。工具 pyenv、virtualenvwrapper、tox 和 pip-compile 都是獨立的。但是,它們各有各的作用,沒有重疊,它們一起打造了一個強大的 Python 工作流。

 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2020-07-01 14:23:57

Python編程語言開發

2009-09-18 08:58:09

Windows Mob社交平臺

2022-09-19 08:45:52

Telnet系統Linux

2009-06-08 17:42:00

建立最基本Java

2025-02-19 08:30:00

SOC網絡安全安全運營中心

2009-04-25 10:19:27

運營商家庭網絡網關

2011-07-25 10:57:02

信息安全認證IT安全學歷信息安全職業

2017-10-24 14:48:05

數據數據驅動文化大數據

2020-03-10 09:54:20

零信任網絡安全網絡攻擊

2020-05-15 10:28:04

實時分析客戶需求CIO

2021-06-15 15:20:15

APIWeb應用軟件開發

2020-07-30 08:32:59

云計算云安全數據

2021-05-24 10:38:54

數據數據策略業務

2023-05-15 18:35:47

SYN百度項目

2020-09-11 10:14:40

數字化轉型首席信息官數字化

2019-09-03 11:32:36

PythonLinux操作系統

2020-05-29 15:25:30

Linux 監控 工具

2020-11-08 13:50:19

Kubernetes容器

2023-02-13 16:42:08

云計算CloudOps工具

2020-03-24 14:37:10

IPv6IP地址互聯網
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产一区二区三区免费 | 影音先锋成人资源 | 欧美日韩在线一区二区 | 性高湖久久久久久久久aaaaa | 国产九九精品 | 精品国产欧美日韩不卡在线观看 | 成人国产精品免费观看视频 | 日日草夜夜草 | 久久免费视频在线 | 国产成人福利视频 | 日本中文字幕在线观看 | 亚洲第一区久久 | 亚洲久久久 | 成人在线观| 欧美日韩国产三级 | 精品久久一区二区 | 天天激情综合 | 国产成人短视频在线观看 | 欧美精品一区二区三区在线 | 亚洲精品888 | 麻豆成人在线视频 | 日本精品一区二区三区在线观看视频 | 欧美成人自拍视频 | 国产1区在线| 久久久黄色 | 成年网站在线观看 | 91色啪| 黄视频免费在线 | 99热热精品 | 精品一区二区三区在线观看 | 国产精品久久久久久影院8一贰佰 | 亚洲一区二区在线播放 | 欧美激情视频一区二区三区免费 | 女同久久另类99精品国产 | 日韩a| 在线三级电影 | 亚洲精品丝袜日韩 | a黄在线观看 | 伊人色综合久久久天天蜜桃 | 黄色在线免费观看视频网站 | 欧美精品久久久久久久久久 |