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

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

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

[[277082]]

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

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

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

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

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

序幕

最近,我想學(xué)習(xí) Ansible,所以我需要找到安裝它的最佳方法。

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

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

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

安裝 Conda

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

我選擇了 Miniconda Python 3.7 安裝在我的工作站中,因?yàn)槲蚁胍钚碌?Python 版本。無論選擇哪個(gè)版本,你都可以使用其他版本的 Python 安裝新的虛擬環(huán)境。

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

安裝完成后,調(diào)出一個(gè)終端來查看你有什么了。你應(yīng)該看到:

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

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

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

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

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

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

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

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

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

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

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

安裝 Ansible

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

要安裝 Ansible 的相對(duì)較新版本,請(qǐng)使用:

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

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

使用 Ansible

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

調(diào)出一個(gè)新的 shell 并運(yùn)行一些基本的 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 工作了,你可以在控制臺(tái)中抽身,并從你的 MacOS 工作站中使用它們。

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

這部分完全是可選的;只有當(dāng)你想要額外的虛擬環(huán)境來修改 Ansible 或者安全地使用有問題的 Python 模塊時(shí),才需要它。你可以通過以下方式將主 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)無法解決的錯(cuò)誤,通常可以通過在 ~/miniconda3/envs 中找到該環(huán)境并刪除整個(gè)目錄來直接刪除環(huán)境。如果基礎(chǔ)環(huán)境損壞了,你可以刪除整個(gè) ~/miniconda3,然后從 PKG 文件中重新安裝。只要確保保留 ~/miniconda3/envs ,或使用 Conda 工具導(dǎo)出環(huán)境配置并在以后重新創(chuàng)建即可。

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

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

結(jié)論

Ansible 是一個(gè)強(qiáng)大的自動(dòng)化工具,值得我們?nèi)W(xué)習(xí)。Conda 是一個(gè)簡(jiǎn)單有效的 Python 虛擬環(huán)境管理工具。

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

 

責(zé)任編輯:龐桂玉 來源: Linux中國(guó)
相關(guān)推薦

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工作站配置

2019-07-22 08:05:21

MacOSElasticsear

2019-07-23 09:10:41

MacOSKibana開源

2021-06-10 14:07:22

MacOS蘋果Intel Mac

2021-08-09 12:18:43

MacOSTelegram漏洞

2023-02-20 14:31:11

2019-07-16 16:26:16

Ansible桌面設(shè)置Linux

2018-11-06 09:24:55

LinuxLutries命令

2020-10-06 13:24:27

間諜軟件

2023-02-10 21:12:41

GPUmacOSStable

2018-02-10 18:35:09

LinuxAnsible系統(tǒng)管理

2021-10-29 10:50:13

XfceXubuntuLinux

2019-07-16 19:00:00

Ansible配置自動(dòng)化

2019-09-08 17:04:00

DebianLinuxAnsible

2022-11-23 14:13:03

Ansible條件判斷

2023-05-17 18:36:27

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美一级片免费看 | 精品国产91乱码一区二区三区 | 亚洲精品一二三区 | 久久精品视频12 | 国产精品久久久久999 | 国产高清久久久 | 国产午夜亚洲精品不卡 | 丁香综合 | 中文字幕成人av | 成人高清视频在线观看 | www四虎影视 | 日本不卡免费新一二三区 | 最新超碰| 美女一级毛片 | 综合色站导航 | 日韩成人在线观看 | 久草视频在线播放 | 国产一区二区精品在线观看 | 久久69精品久久久久久久电影好 | 免费看a | 野狼在线社区2017入口 | 最新中文字幕 | 国产资源网 | 99re在线视频 | 毛片电影 | 欧美日韩一区二区三区在线观看 | 一区二区国产精品 | 国产精品揄拍一区二区 | 亚洲理论在线观看电影 | 国产精品久久av | 国产精品美女www爽爽爽 | 波多野结衣一区二区 | 免费观看黄色一级片 | 97成人免费| 国产乱码高清区二区三区在线 | 二区中文 | 成年人网站国产 | 欧美亚洲一区二区三区 | 国产精品美女在线观看 | 欧美日一区 | 在线观看av不卡 |