如何在Ubuntu 20.04上安装Pyenv 管理多版本Python
ubuntu安装pyenv 管理多版本Python
参考文档:
https://www.jianshu.com/p/731fac7b11a4
https://blog.csdn.net/weixin_39784263/article/details/110279912
https://www.cnblogs.com/nangec/p/12788811.html
pyenv 用来解决这类问题。它可以安装、卸载、编译、管理多个 python 版本,并随时将其中一个设置为工作环境。
pyenv 不支持 Windows 系统。
安装pyenv:
$ yum install git -y # 先安装git,若已安装跳过
$ git clone git://github.com/yyuu/pyenv.git ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
当然咯,你也可以直接把文本加到~/.bashrc中:
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
这样下次登陆,或者直接用命令:source ~/.bashrc ,pyenv命令就可以使用了!
接下来我们就可以安装python了,但是再安装之前,我们必须要安装python所需要的依赖包,这个必须要安装,:
$ sudo apt-get install libc6-dev gcc
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm
$ pyenv rehash # 数据库进行更新
如果是centos系统,库里没有这些源,yum库里面找不到的话,就可以考虑安装epel-release,epel-release可以扩充yum库。
如何安装epel-release?
yum install epel-release
安装指定Python版本
你就可以愉快的执行:
pyenv install 3.10.0
如果一直卡在下载的那里,可能是网速问题
解决方法
新建文件夹
.pyenv/cache手工下载安装包
Python-3.10.0.tar.xz到.pyenv/cache里下
包的下载地址:
https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tar.xz
https://www.python.org/ftp/python/3.8.8/Python-3.8.8.tar.xz (centos3.8.8支持)

执行安装命令
pyenv install 3.10.0
常用pyenv命令
$ pyenv install --list # 显示可以安装的python版本
$ pyenv install -l # 显示可以安装的python版本
$ pyenv install 3.10.0 # 安装3.10.0版本的CPython,嘿嘿!
$ pyenv global 3.10.0 # 设置全局状态的python版本,*表示当前使用的版本
$ pyenv versions # 显示所有已经安装的python版本
$ pyenv version # 显示当前目录下采用的 python
$ pyenv local 3.10.0 # 会在目录下生成 .python-version 文件,用来指定当前目录下使用python的版本
同样此处需要重启终端对应版本才会正式生效
有时设置了pyenv local版本后,再设置global会发现没有生效,可以尝试:
pyenv local --unset
解除local设置。
要切换回系统版本,用同样命令:
$ pyevn global system
卸载python版本
$ pyenv uninstall 3.7.3
设置为系统变量:
sudo ln -s /home/haima/.pyenv/versions/3.10.0/bin/python3 /usr/bin/python310
sudo ln -s /home/haima/.pyenv/versions/3.10.0/bin/pip3.10 /usr/bin/pip310
python3 -V
pip3 -V
pyenv 命令列表
注意事项:
输入python即可使用新版的python;
系统自带的脚本会以/usr/bin/python的方式直接调用老版本的python,因而不会对系统脚本产生影响;
使用pip安装第三方模块时会安装到~/.pyenv/versions/3.10.0下,不会和系统模块发生冲突;
使用pip安装模块后,可能需要执行pyenv rehash更新数据库。
pycharm配置


如何在Ubuntu 20.04上安装Pyenv 管理多版本Python的更多相关文章
- 如何在Ubuntu 20.04上安装和保护phpMyAdmin
转载csdn:cukw6666 https://blog.csdn.net/cukw6666/article/details/107985170
- Ubuntu 20.04上安装MySQL教程,ubuntu安装mysql
在Ubuntu 20.04上安装MySQL教程 先决条件 确保您以具有sudo特权的用户身份登录. 在Ubuntu上安装MySQL 在撰写本文时,Ubuntu存储库中可用的MySQL的最新版本是MyS ...
- 如何在Ubuntu 18.04上安装Pip
一.简介: Pip是一个软件包管理系统,它简化了用Python编写的软件包(如Python包索引(PyPI)中的软件包)的安装和管理. 在Ubuntu 18.04上缺省没有安装Pip,但安装非常简单. ...
- 如何在Ubuntu 16.04上安装配置Redis
如何在Ubuntu 16.04上安装配置Redis Redis是一个内存中的键值存储,以其灵活性,性能和广泛的语言支持而闻名.在本指南中,我们将演示如何在Ubuntu 16.04服务器上安装和配置Re ...
- 如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器(转)
如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器 什么是Apache Web Server? Apache或Apache HTTP服务器是一个免费的开源Web服务器,由Apac ...
- 如何在Ubuntu 18.04上安装Go
如何在Ubuntu 18.04上安装Go 谢鸢发表于云计算教程系列订阅98 介绍 课程准备 第1步 - 安装Go 第2步 - 设置Go路径 第3步 - 测试您的安装 结论 介绍 Go是Google开发 ...
- 如何在Ubuntu 18.04上安装Apache Web服务器
一. apt库安装 1.在终端输入更新检查命令,sudo apt-get update 2. 在更新完成后(如果不想检查更新,也可直接输入此步)输入:sudo apt-get install apac ...
- 如何在Ubuntu 18.04上安装和卸载TeamViewer
卸载命令:sudo apt --purge remove teamviewer 安装:https://www.linuxidc.com/Linux/2018-05/152282.htm 如何在Ubun ...
- 如何在Ubuntu 18.04上安装Django
Django是一个免费的开源高级Python Web框架,旨在帮助开发人员构建安全,可扩展和可维护的Web应用程序. 根据您的需要,有不同的方法来安装Django.它可以使用pip在系统范围内安装或在 ...
- 如何在Ubuntu 16.04上安装Apache Web服务器
转载自:https://www.howtoing.com/how-to-install-the-apache-web-server-on-ubuntu-16-04 介绍 Apache HTTP服务器是 ...
随机推荐
- 【已解决】VMware Tools 启动脚本未能在虚拟机中成功运行。如果您在此虚拟机中配置了自定义启动脚本,请确保该脚本没有错误。您也可以提交支持请求,报告此问题。
参考:https://www.cnblogs.com/rainbow-1/p/15391407.html
- postman测试接口时的参数对应接口的两种情况
第一种通过json字符串的情况去进行测试,最终将json字符串转成对应的对象 代码里面一定要加上@RequestBody注解,即使是一个字符串也需要加这个注解 第二种通过key-value的形式去加入 ...
- SC的板子库~
观前须知 Sugar_Cube的博客园主页 声明 本文所有内容遵循CC BY-NC-SA 4.0 Deed原则 本文包含了笔者常用的OI算法.数据结构的模板 不保证算法最优,但能通过相应的模板题(如果 ...
- #根号分治,前缀和,双指针#CF1446D2 Frequency Problem (Hard Version)
题目 给定一个长度为 \(n\) 的序列,问是否存在一个最长的区间使得至少存在两个众数. 分析 实际上 Easy Version 是用来启发大于根号的做法的. 众数可以说有一个性质吧,答案区间中的其中 ...
- Lambda表达式和闭包Closure
目录 简介 JS中的闭包 java中的闭包 深入理解lambda表达式和函数的局部变量 总结 简介 我们通常讲到闭包,一般都是指在javascript的环境中.闭包是JS中一个非常重要的也非常常用的概 ...
- OpenHarmony 3.1 Release版本关键特性解析——ArkUI框架又有哪些新增能力?
ArkUI 是一套 UI 开发框架,它提供了开发者进行应用 UI 开发时所必须的能力.随着 OpenAtom OpenHarmony(以下简称"OpenHarmony") 3.1 ...
- OpenHarmony littlefs文件系统存储结构与IO性能优化分析
引言 随着科技的发展和网络技术的进步,计算机存储空间愈加紧张,存储空间对文件系统的功能需求越来越大,大规模的数据增长为文件存储.非结构化数据存储提出了新的挑战. 对于许多物联网设备而言,拥有一个小型且 ...
- 深入浅出 C 语言:学变量、掌控流程、玩指针,全方位掌握 C 编程技能
C 语言简介 C 语言介绍 C 语言的特性 C 语言相对于其他语言的优势 C 程序的编译 C 中的 Hello World 程序 参考文章: C 语言入门:如何编写 Hello World C 语言函 ...
- Maven——阿里云镜像
<mirror> <id>nexus-aliyun</id> <mirrorOf>*,!jeecg,!jeecg-snapshots</mirro ...
- openGauss单机部署
openGauss 单机部署 一.安装环境 操作系统:虚拟机 VMware.CentOS7.9 环境设置: (1)虚拟机内存 3G.磁盘 100G (2)系统版本修改 一开始使用了 centos8,无 ...