TOOCS.python
TOOCS / Ansible 角色: TOOCS.python
/!\ 此角色已经更名 - 原名称:
FlorianKempenich.python-virtualenv
/!\
- 使用
asdf
(或pyenv
)安装多版本的 Python - 为所有版本安装
pipenv
- 可选: 为默认版本的 Python 安装全局 pip 包
TOOCS?
TOOCS - 一键设置工具,旨在通过一键设置系统。它们提供简单可靠的方式来配置特定工具。你可以直接使用它们,或者查看其代码,作为逐步教程进行学习。
它们的名字也表明了它们的特点:尽管能够一键配置给定工具,但并不保证在_如何_实现上保持一致,新的版本可能会引入重大变化。
理解代码,确保你明白发生了什么!
需求
此角色仅适用于 MacOSX 和 Ubuntu/Debian。
角色变量
python_versions
- 要安装的 Python 版本列表
- 列表中的顺序决定了优先级
了解更多信息: 安装版本列表是有序的 - 必填
global_pip_packages
- 要安装的 pip 包列表
- 这些包仅会为默认版本的 Python(列表中的第一个)安装
- 默认值:
[]
installation_method
- 可选值:
asdf
,pyenv
- 见 安装方法
- 默认值:
asdf
- 可选值:
asdf_skip_shell_setup
- 安装
asdf
时跳过 shell 设置 - 见 安装方法
- 默认值:
False
- 安装
安装方法
asdf
使用 asdf
版本管理工具的首选和默认安装方法
asdf
的安装和配置以及 Python 的安装都委托给另一个 TOOCS: TOOCS.asdf。
此 TOOCS 仅负责安装可选的全局 pip 模块。
安装后 - 使用 asdf
: Shell 配置
如果你使用
zsh
,一切都已设置好! 在安装asdf
时你的 shell 已自动配置。如果你没有使用
zsh
,则需要一些手动设置,见: TOOCS/asdf - 非zsh
用户如果
asdf
已经在你的机器上设置好了,可以跳过asdf
自动的 shell 设置 => 将变量asdf_skip_shell_setup
设置为True
pyenv
使用 pyenv
版本管理工具的替代方法
安装后 - 使用 pyenv
: Shell 配置
由于 pyenv
用于管理不同的 python
版本,需要在你的 shell 中激活。
只需将以下内容添加到对应的文件中:
~/.zshrc
/~/.bashrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
~/.zlogin
/~/.bash_profile
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
我们将初始化拆分在这两个文件之间,以确保 pyenv
和 pipenv
的平稳操作。这样,pyenv
的激活在每个登录 shell 中仅执行一次,不会干扰由 pipenv shell
启动的子 shell。
了解更多信息: Pyenv 问题 #184 - pipenv shell
中的错误 Python
示例剧本
- hosts: localhost
tasks:
- include_role:
name: TOOCS.python
vars:
python_versions:
- 3.7.0
- 2.7.15
global_pip_packages:
- cheat
- howdoi
- ansible-droplet
# 或
- hosts: localhost
tasks:
- include_role:
name: TOOCS.python
vars:
python_versions:
- 3.7.0
installation_method: asdf
asdf_skip_shell_setup: True
# 或
- hosts: localhost
tasks:
- include_role:
name: TOOCS.python
vars:
python_versions:
- 3.7.0
installation_method: pyenv
许可证
MIT
作者信息
在推特关注我: @ThisIsFlorianK
了解我的更多工作: Florian Kempenich - 个人网站
关于项目
Install multiple versions of Python with some optional global packages
安装
ansible-galaxy install TOOCS.python
许可证
mit
下载
117
拥有者
The Opinionated One-Click Setups - TOOCS - Logo made with DesignEvo (www.designevo.com)