Python编程:pyenv管理多个python版本环境

简介: Python编程:pyenv管理多个python版本环境

pyenv 多版本的Python管理工具

https://github.com/pyenv/pyenv

pyenv-virtualenv 虚拟环境管理工具

https://github.com/pyenv/pyenv-virtualenv

mac系统安装

$ brew install pyenv
$ brew install pyenv-virtualenv

配置环境变量

$ vim ~/.bash_profile

写入内容

# pyenv
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

配置生效

$ source ~/.bash_profile

其他系统安装

# 安装
$ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
# 卸载
$ rm -fr ~/.pyenv

配置vim ~/.bashrc

export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

参考:https://github.com/pyenv/pyenv-installer

使用

常用命令

pyenv install --list # 列出可安装版本
pyenv install <version> # 安装对应版本
pyenv install -v <version> # 安装对应版本,若发生错误,可以显示详细的错误信息
pyenv uninstall <version> # 卸载对应版本
pyenv versions # 显示当前使用的python版本
pyenv which python # 显示当前python安装路径
pyenv global <version> # 设置默认Python版本
pyenv local <version> # 当前路径创建一个.python-version, 以后进入这个目录自动切换为该版本
pyenv shell <version> # 当前shell的session中启用某版本,
# 优先级: shell > local > global

虚拟环境管理

pyenv virtualenvs # 列出当前虚拟环境
pyenv virtualenv env # 从默认版本创建虚拟环境
pyenv virtualenv 3.6.4 env-3.6.4 # 创建3.6.4版本的虚拟环境
pyenv activate env-3.6.4 # 激活 env-3.6.4 这个虚拟环境
pyenv deactivate # 停用当前的虚拟环境
pyenv uninstall env-3.6.4 # 删除 env-3.6.4 这个虚拟环境

相比这个,我还是比较喜欢virtualenvwrapper的指令

workon py3

当然可以修改别名

$ vim ~/.bash_profile
# 会出现过时提示
# alias workon="pyenv activate"
alias workon="pyenv shell"

.python-version文件

目录中有.python-version文件,进入目录后会自动切换到对应的Python版本

$ python --version
Python 2.7.16
$ cd /demo
# 创建 .python-version文件
$ pyenv lolcal py370
$ ls
.python-version
$ cat .python-version
py370
$ python --version
Python 3.7.0

参考

pyenv 安装及常用命令

pyenv下载速度慢

手动下载安装包

https://npm.taobao.org/mirrors/python/

放到目录下, 没有就新建

~/.pyenv/cache

遇到的问题

1、切换环境的时候会提示:

$ pyenv activate py370
prompt changing will be removed from future release. 
configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.

如果按照提示配置,切换版本后,没有了版本提示,不知道自己处于什么版本

修改配置文件~/.bash_profile

$ vim ~/.bash_profile
# pyenv
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
export PYENV_VIRTUALENV_DISABLE_PROMPT=1
# 添加版本号提示
export PS1='($(pyenv version-name)) '$PS1

可是这样会导致PyCharm命令行多一个版本提示,无法忍受

(py370)(py370) $

还有一个办法是使用

$ pyenv shell py370

Linux环境下安装pyenv

安装pyenv

1、设置安装目录

安装目录默认是PYENV_ROOT=${HOME}/.pyenv,如果需要多用户使用,那么会遇到一些权限问题

自定义安装目录,让所有用户都能用:

$ vim /etc/profile.d/custom.sh
# 设置目录 
export PYENV_ROOT=/usr/local/pyenv

2、设置pyenv及其插件下载源

如果直接使用官网给出的下载方式,默认直接从github下载安装, 会非常慢

$ curl https://pyenv.run | bash
# 或者
$ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

可以自动同步到gitee,并修改下载地址

(1)先手动下载安装文件

$ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer > pyenv-installer.sh

(2)修改下载源

if [ -n "${USE_GIT_URI}" ]; then
#   GITHUB="git://github.com"
  GITHUB="git://gitee.com"
else
#   GITHUB="https://github.com"
  GITHUB="https://gitee.com/"
fi
# [github]pyenv -> [gitee]mouday
checkout "${GITHUB}/mouday/pyenv.git"            "${PYENV_ROOT}"
checkout "${GITHUB}/mouday/pyenv-doctor.git"     "${PYENV_ROOT}/plugins/pyenv-doctor"
checkout "${GITHUB}/mouday/pyenv-installer.git"  "${PYENV_ROOT}/plugins/pyenv-installer"
checkout "${GITHUB}/mouday/pyenv-update.git"     "${PYENV_ROOT}/plugins/pyenv-update"
checkout "${GITHUB}/mouday/pyenv-virtualenv.git" "${PYENV_ROOT}/plugins/pyenv-virtualenv"
checkout "${GITHUB}/mouday/pyenv-which-ext.git"  "${PYENV_ROOT}/plugins/pyenv-which-ext"

(3)执行安装命令

$ bash pyenv-installer.sh

或者直接使用已修改好的版本,通过gt工具进行下载

# 直接下载安装
$ wget https://raw.githubusercontent.com/mouday/gt-project/main/templates/template-pyenv-installer.sh | bash
# 或者使用 gt
$ gt pyenv-installer.sh | bash

安装Python

默认是从Python官网下载,如果速度慢可以修改下载源

更多变量可参考: python-build

$ vim /etc/profile.d/custom.sh
export PYTHON_BUILD_MIRROR_URL=https://npm.taobao.org/mirrors/python

或者,先手动下载到缓存文件夹中再安装

$ cd /usr/local/pyenv/cache
$ wget https://npm.taobao.org/mirrors/python/3.7.0/Python-3.7.0.tar.xz

安装Python和创建虚拟环境

# 安装
$ pyenv install 3.7.0
# 创建虚拟环境
$ pyenv virtualenv 3.7.0 py370


相关文章
|
5月前
|
人工智能 数据安全/隐私保护 Python
小红书图文生成器,小红书AI图文生成工具,python版本软件
Pillow库自动生成符合平台尺寸要求的配图7;3)利用Playwright实现自动化发布流程6。
|
6月前
|
Ubuntu 安全 API
Python3.14正式支持Free Threaded版本!
Python 社区迎来历史性时刻!Python 3.14 正式将无 GIL 构建列为受支持选项,标志着 Free‑Threaded Phase II 启动。本文将深入解析 PEP 779 规定的支持标准、3.14.0b3 版本的新变化,以及这对Python开发者意味着什么。文末还有小彩蛋哦!
911 87
|
5月前
|
API 数据安全/隐私保护 开发者
企业微信自动加好友软件,导入手机号批量添加微信好友,python版本源码分享
代码展示了企业微信官方API的合规使用方式,包括获取access_token、查询部门列表和创建用户等功能
|
11月前
|
人工智能 Python
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
472 7
|
PyTorch Linux 算法框架/工具
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
这篇文章是关于如何使用Anaconda进行Python环境管理,包括下载、安装、配置环境变量、创建多版本Python环境、安装PyTorch以及使用Jupyter Notebook的详细指南。
1778 1
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
|
Ubuntu Shell Linux
pyenv 管理多个 Python 版本(1)
pyenv 管理多个 Python 版本(1)
482 86
pyenv 管理多个 Python 版本(1)
|
Shell Python
使用 pyenv 来管理多个 Python 版本(2)
使用 pyenv 来管理多个 Python 版本(2)
411 71
使用 pyenv 来管理多个 Python 版本(2)
|
11月前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
567 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
4457 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
Python Windows
查看Python版本
【10月更文挑战第8天】查看Python版本
344 2

推荐镜像

更多