Pyenv管理Python多版本环境

Pyenv是一款Python版本管理工具,能方便地安装和切换多个Python版本,避免环境冲突。本文介绍了Pyenv在Linux和Mac上的安装配置方法,以及如何查看、安装Python版本和切换环境的操作。

一、简介
在配置Python环境的时候,我们常常会遇到环境冲突的问题,特别是在多个Python版本的时候。例如Linux系统基本都会自带一个Python2.7,这个Python是Linux本身需要使用的,所以我们一般不会去使用这个Python,而是自己安装一个,这个时候就常常遇到冲突的问题。
当然,如果熟悉Python的配置的话,是不会遇到这个问题的,但如果需要配置多个Python版本,且之间不互相影响的话,还是非常的麻烦。
所幸现在有几个比较完善的工具,可以帮助我们非常方便的一条龙搭建Python环境,本篇文章讲解的则是如何使用 Pyenv 来搭建Python环境,这是作者目前非常喜欢使用的一种方式。Pyenv 是一个Python版本管理工具,可以让你轻松的安装多个版本的Python,并且在Python的各个版本之间简单快速的切换,非常简单实用。

二、安装配置
2.1. Linux安装Pyenv
在安装Pyenv之前,我们需要先把Python的依赖项装好,如下所示:

sudo apt-get install gcc libbz2-dev libncurses5-dev  libgdbm-dev liblzma-dev libsqlite3-dev libssl-dev libreadline6-dev

然后就可以使用GIT从Github上下载下载Pyenv的源码了,Pyenv不需要编译等操作,下载下来之后放到某一个位置即可,如下所示:

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

在这里是把Pyenv下载下来后,放到了 ~ 家目录下,起名为 .pyenv 的隐藏目录中。这只是一个官方比较推荐的位置,实际上你可以自行选择把你的 .pyenv 目录放到任何位置。

在下载完毕之后,还需要配置一下Pyenv的环境变量以及Pyenv启动的语句:
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bashrc

如果你是使用的 zsh,那么需要把 ~/.bashrc 修改为 ~/.zshenv,按照系统的不同,可能还需要修改为 ~/.bash_profile。
如果你修改了 .pyenv 的位置,那么你还要将上面命令中的对应路径进行修改。
配置完毕之后重启 shell 即可生效:

exec "$SHELL"

2.2. Mac安装Pyenv
如果你是使用的Mac系统,那么官方推荐的安装方式是使用Homebrew来进行安装,Homebrew的使用方式请自行搜索。
使用Homebrew安装非常的简单,一行代码即可,Homebrew会自动下载依赖项:

brew install pyenv

安装完毕之后会有提示你将pyenv init添加到Shell中,输入以下命令即可:

$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

之后重启终端就可以使用了。
注:如果使用的是Mac os最近的10.14版本,那么使用 Pyenv 安装Python时,可能会遇到 zlib 的报错,这种情况使用Homebrew把 zli�b 安装好,并根据安装好之后的提示,将其添加到编译环境中即可。

三、使用方式
配置完毕之后,就可以在命令行中使用 Pyenv 命令了,加上 -h 参数可以查看帮助和使用方式:

Usage: pyenv <command> [<args>]

Some useful pyenv commands are:
   commands    List all available pyenv commands
   local       Set or show the local application-specific Python version
   global      Set or show the global Python version
   shell       Set or show the shell-specific Python version
   install     Install a Python version using python-build
   uninstall   Uninstall a specific Python version
   rehash      Rehash pyenv shims (run this after installing executables)
   version     Show the current Python version and its origin
   versions    List all Python versions available to pyenv
   which       Display the full path to an executable
   whence      List all Python versions that contain the given executable

See `pyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/pyenv/pyenv#readme

在这里我们讲解一下比较常用的一些命令的使用方式。
3.1. 查看和安装Python
需要注意的一点是,Pyenv 仅能够管理由 Pyenv 自己安装的Python,也就是说如果你使用编译或其他方式安装的Python版本,将不会纳入 Pyenv 的管理。
首先,我们来查看使用 Pyenv 能安装什么版本的Python:

$ pyenv install --list

使用此命令即可查看 Pyenv 能安装的所有版本,包括官方的Python、anaconda、pypy等。在这里,只有数字的,如 3.6.6 这种就是官方版本的Python。
选择好你要安装的Python版本之后,使用以下命令即可安装:

$ pyenv install 3.6.6

版本名字需要和上一条命令中查询到的一致。
依赖项这些都没有问题的话,一般输入命令等待安装成功即可,安装完成后,我们可以使用以下命令来查看纳入 Pyenv 安装的有哪些版本:

* system (set by /Users/wnanbei/.pyenv/version)
  3.6.6
  3.7.1

这里的 system 则是系统本身的Python环境,而下方的 3.6.6 和 3.7.1 则是使用 Pyenv 安装的,带 * 的则是当前正在使用的Python环境。

3.2. 切换Python环境
安装了多个Python版本之后,使用 Pyenv 可以非常快速便捷的在多个Python版本中切换,而不会造成冲突。其设定Python环境的方式也有几种。

全局Python环境
指定全局的Python环境一般用的比较少,如果你嫌每次都要用命令进入环境比较麻烦的话,那么你可以指定一个比较常用的Python版本作为全局的Python环境:

$ pyenv global 3.6.6

局部Python环境
除了全局环境之外,还可以给某个目录指定环境,也就是说,只要进入这个指定之后的目录,那么其所处的环境就是指定的Python版本了。
指定之前,首先要使用 cd 命令进入要指定的目录,然后输入以下命令。

$ pyenv local 3.6.6

如果要取消某个目录的Python环境,可以使用以下命令:

$ pyenv local --unset

临时Python环境
所谓的临时Python环境,与上面的全局和局部环境不同,只是当前有效,退出Shell之后,下次再进入还需要重新切换。输入以下命令进入临时Python环境:

$pyenv shell 3.6.6

如果需要退出临时环境的话,使用以下命令:

$ pyenv shell --unset

这三种Python环境的优先级为:shell > local > global

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值