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

使用Conda管理MacOS上的Ansible環(huán)境

開源 后端
本文著重于使用 Conda 作為 Python 項目來管理 Ansible,以保持它的干凈并與其他項目分開。請繼續(xù)閱讀,并了解如何安裝 Conda、創(chuàng)建新的虛擬環(huán)境、安裝 Ansible 并對其進行測試。

[[277082]]

Conda 將 Ansible 所需的一切都收集到虛擬環(huán)境中并將其與其他項目分開。

如果你是一名使用 MacOS 并涉及到 Ansible 管理的 Python 開發(fā)人員,你可能希望使用 Conda 包管理器將 Ansible 的工作內容與核心操作系統(tǒng)和其他本地項目分開。

Ansible 基于 Python。要讓 Ansible 在 MacOS 上工作,Conda 并不是必須要的,但是它確實讓你管理 Python 版本和包依賴變得更加容易。這允許你在 MacOS 上使用升級的 Python 版本,并在你的系統(tǒng)中、Ansible 和其他編程項目之間保持 Python 包的依賴性相互獨立。

在 MacOS 上安裝 Ansible 還有其他方法。你可以使用 Homebrew,但是如果你對 Python 開發(fā)(或 Ansible 開發(fā))感興趣,你可能會發(fā)現(xiàn)在一個獨立 Python 虛擬環(huán)境中管理 Ansible 可以減少一些混亂。我覺得這更簡單;與其試圖將 Python 版本和依賴項加載到系統(tǒng)或 /usr/local 目錄中 ,還不如使用 Conda 幫助我將 Ansible 所需的一切都收集到一個虛擬環(huán)境中,并將其與其他項目完全分開。

本文著重于使用 Conda 作為 Python 項目來管理 Ansible,以保持它的干凈并與其他項目分開。請繼續(xù)閱讀,并了解如何安裝 Conda、創(chuàng)建新的虛擬環(huán)境、安裝 Ansible 并對其進行測試。

序幕

最近,我想學習 Ansible,所以我需要找到安裝它的最佳方法。

我通常對在我的日常工作站上安裝東西很謹慎。我尤其不喜歡對供應商的默認操作系統(tǒng)安裝應用手動更新(這是我多年作為 Unix 系統(tǒng)管理的習慣)。我真的很想使用 Python 3.7,但是 MacOS 的 Python 包是舊的 2.7,我不會安裝任何可能干擾核心 MacOS 系統(tǒng)的全局 Python 包。

所以,我使用本地 Ubuntu 18.04 虛擬機上開始了我的 Ansible 工作。這提供了真正意義上的的安全隔離,但我很快發(fā)現(xiàn)管理它是非常乏味的。所以我著手研究如何在本機 MacOS 上獲得一個靈活但獨立的 Ansible 系統(tǒng)。

由于 Ansible 基于 Python,Conda 似乎是理想的解決方案。

安裝 Conda

Conda 是一個開源軟件,它提供方便的包和環(huán)境管理功能。它可以幫助你管理多個版本的 Python、安裝軟件包依賴關系、執(zhí)行升級和維護項目隔離。如果你手動管理 Python 虛擬環(huán)境,Conda 將有助于簡化和管理你的工作。瀏覽 Conda 文檔可以了解更多細節(jié)。

我選擇了 Miniconda Python 3.7 安裝在我的工作站中,因為我想要最新的 Python 版本。無論選擇哪個版本,你都可以使用其他版本的 Python 安裝新的虛擬環(huán)境。

要安裝 Conda,請下載 PKG 格式的文件,進行通常的雙擊,并選擇 “Install for me only” 選項。安裝在我的系統(tǒng)上占用了大約 158 兆的空間。

安裝完成后,調出一個終端來查看你有什么了。你應該看到:

  • 在你的家目錄中的 miniconda3 目錄
  • shell 提示符被修改為 (base)
  • .bash_profile 文件更新了一些 Conda 特有的設置內容

現(xiàn)在基礎已經(jīng)安裝好了,你有了第一個 Python 虛擬環(huán)境。運行 Python 版本檢查可以證明這一點,你的 PATH 將指向新的位置:

  1. (base) $ which python
  2. /Users/jfarrell/miniconda3/bin/python
  3. (base) $ python --version
  4. Python 3.7.1

現(xiàn)在安裝了 Conda,下一步是建立一個虛擬環(huán)境,然后安裝 Ansible 并運行。

為 Ansible 創(chuàng)建虛擬環(huán)境

我想將 Ansible 與我的其他 Python 項目分開,所以我創(chuàng)建了一個新的虛擬環(huán)境并切換到它:

  1. (base) $ conda create --name ansible-env --clone base
  2. (base) $ conda activate ansible-env
  3. (ansible-env) $ conda env list

第一個命令將 Conda 庫克隆到一個名為 ansible-env 的新虛擬環(huán)境中??寺∫肓?Python 3.7 版本和一系列默認的 Python 模塊,你可以根據(jù)需要添加、刪除或升級這些模塊。

第二個命令將 shell 上下文更改為這個新的環(huán)境。它為 Python 及其包含的模塊設置了正確的路徑。請注意,在 conda activate ansible-env 命令后,你的 shell 提示符會發(fā)生變化。

第三個命令不是必須的;它列出了安裝了哪些 Python 模塊及其版本和其他數(shù)據(jù)。

你可以隨時使用 Conda 的 activate 命令切換到另一個虛擬環(huán)境。這將帶你回到基本環(huán)境:conda base。

安裝 Ansible

安裝 Ansible 有多種方法,但是使用 Conda 可以將 Ansible 版本和所有需要的依賴項打包在一個地方。Conda 提供了靈活性,既可以將所有內容分開,又可以根據(jù)需要添加其他新環(huán)境(我將在后面演示)。

要安裝 Ansible 的相對較新版本,請使用:

  1. (base) $ conda activate ansible-env
  2. (ansible-env) $ conda install -c conda-forge ansible

由于 Ansible 不是 Conda 默認通道的一部分,因此 -c 用于從備用通道搜索和安裝。Ansible 現(xiàn)已安裝到 ansible-env 虛擬環(huán)境中,可以使用了。

使用 Ansible

既然你已經(jīng)安裝了 Conda 虛擬環(huán)境,就可以使用它了。首先,確保要控制的節(jié)點已將工作站的 SSH 密鑰安裝到正確的用戶帳戶。

調出一個新的 shell 并運行一些基本的 Ansible 命令:

  1. (base) $ conda activate ansible-env
  2. (ansible-env) $ ansible --version
  3. ansible 2.8.1
  4. config file = None
  5. configured module search path = ['/Users/jfarrell/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  6. ansible python module location = /Users/jfarrell/miniconda3/envs/ansibleTest/lib/python3.7/site-packages/ansible
  7. executable location = /Users/jfarrell/miniconda3/envs/ansibleTest/bin/ansible
  8. python version = 3.7.1 (default, Dec 14 2018, 13:28:58) [Clang 4.0.1 (tags/RELEASE_401/final)]
  9. (ansible-env) $ ansible all -m ping -u ansible
  10. 192.168.99.200 | SUCCESS => {
  11. "ansible_facts": {
  12. "discovered_interpreter_python": "/usr/bin/python"
  13. },
  14. "changed": false,
  15. "ping": "pong"
  16. }

現(xiàn)在 Ansible 工作了,你可以在控制臺中抽身,并從你的 MacOS 工作站中使用它們。

克隆新的 Ansible 進行 Ansible 開發(fā)

這部分完全是可選的;只有當你想要額外的虛擬環(huán)境來修改 Ansible 或者安全地使用有問題的 Python 模塊時,才需要它。你可以通過以下方式將主 Ansible 環(huán)境克隆到開發(fā)副本中:

  1. (ansible-env) $ conda create --name ansible-dev --clone ansible-env
  2. (ansible-env) $ conda activte ansible-dev
  3. (ansible-dev) $

需要注意的問題

偶爾你可能遇到使用 Conda 的麻煩。你通??梢酝ㄟ^以下方式刪除不良環(huán)境:

  1. $ conda activate base
  2. $ conda remove --name ansible-dev --all

如果出現(xiàn)無法解決的錯誤,通??梢酝ㄟ^在 ~/miniconda3/envs 中找到該環(huán)境并刪除整個目錄來直接刪除環(huán)境。如果基礎環(huán)境損壞了,你可以刪除整個 ~/miniconda3,然后從 PKG 文件中重新安裝。只要確保保留 ~/miniconda3/envs ,或使用 Conda 工具導出環(huán)境配置并在以后重新創(chuàng)建即可。

MacOS 上不包括 sshpass 程序。只有當你的 Ansible 工作要求你向 Ansible 提供 SSH 登錄密碼時,才需要它。你可以在 SourceForge 上找到當前的 sshpass 源代碼

最后,基礎的 Conda Python 模塊列表可能缺少你工作所需的一些 Python 模塊。如果你需要安裝一個模塊,首選命令是 conda install package,但是需要的話也可以使用 pip,Conda 會識別安裝的模塊。

結論

Ansible 是一個強大的自動化工具,值得我們去學習。Conda 是一個簡單有效的 Python 虛擬環(huán)境管理工具。

在你的 MacOS 環(huán)境中保持軟件安裝分離是保持日常工作環(huán)境的穩(wěn)定性和健全性的謹慎方法。Conda 尤其有助于升級你的 Python 版本,將 Ansible 從其他項目中分離出來,并安全地使用 Ansible。 

 

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

2021-05-25 14:02:45

MozillaFirefoxMacOS

2011-07-26 08:52:57

2021-03-01 08:00:00

Linux開發(fā)虛擬環(huán)境

2019-09-29 09:40:20

LinuxWindowsMacOS

2019-07-16 16:40:00

Ansible工作站配置

2021-06-10 14:07:22

MacOS蘋果Intel Mac

2019-07-22 08:05:21

MacOSElasticsear

2019-07-23 09:10:41

MacOSKibana開源

2019-07-16 16:26:16

Ansible桌面設置Linux

2023-02-20 14:31:11

2021-08-09 12:18:43

MacOSTelegram漏洞

2018-02-10 18:35:09

LinuxAnsible系統(tǒng)管理

2018-11-06 09:24:55

LinuxLutries命令

2020-10-06 13:24:27

間諜軟件

2023-02-10 21:12:41

GPUmacOSStable

2021-10-29 10:50:13

XfceXubuntuLinux

2019-07-16 19:00:00

Ansible配置自動化

2022-11-23 14:13:03

Ansible條件判斷

2019-09-08 17:04:00

DebianLinuxAnsible

2023-08-07 11:47:53

Poetry工具軟件包
點贊
收藏

51CTO技術棧公眾號