Ubuntu18.04下安装pyenv(python多版本管理工具)和virtualenv及常用命令

Pyenv的安装和使用 Pyenv是一个简单的Python版本管理工具。通过Pyenv可以安装多个版本的Python,并且可以在多个版本之间轻松切换。 阅读详情

最近正在重头梳理Python的基础知识,为了更好地使用Python进行开发,防止发生版本混乱(不同的第三方库有可能因为Python版本不兼容而报错),所以需要使用pyenv进行版本管理。
通常来说,安装一个开源程序需要自己编译和下载相关依赖包,但是作者提供个一个简易的安装器,只需要一条命令即可搞定安装。

$ curl https://pyenv.run | bash

pyenv.run重定向到github内的安装脚本,上面这句命令等同于

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

如果要升级pyenv:

$ pyenv update

卸载pyenv(pyenv安装的默认路径为~/.pyenv,如果自定义安装路径则删除自定义文件夹):

$ rm -fr ~/.pyenv

并删除.bashrc下面的环境变量:

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

遇到的问题
输入:

pyenv --version

1.报错:command ‘pyenv’ Not Found
解决:检查.bashrc中有没有添加pyenv的环境变量信息,没有则添加进去(使用其他shell,如zsh的,则在.zshrc中添加。)
2.找不到zlib包(缺少依赖)

解决:输入下面命令安装

$ sudo apt-get install zlib1g-dev
pyenv常用命令
pyenv  install --list    查看python版本
pyenv install 3.6.1     安装对应版本python
pyenv local 3.6.1        当前目录下python环境指定为3.6.1
pyenv versions           查看系统中已安装的python版本
pyenv-virtualenv: 管理虚拟环境的插件

pyenv 解决的是同一个系统中不同版本的 python 并存的问题,而 pyenv-virtualenv 解决的是不同项目所依赖的软件包之间可能产生冲突的问题。
pyenv-virtualenv安装方法:

pip install pyenv-virtualenv
创建独立虚拟python环境
pyenv virtualenv 3.4.9 env349          创建python3.4.9的虚拟环境
pyenv  activate env349                           启用python3.4.9环境
pyenv deactivate                                   退出虚拟python环境

至此,Pyenv+virtualenv版本管理系统搭建完成,可以在一台主机上互不干扰的使用不同版本的python+第三方库的组合了
补充:最近在自己虚拟机上安装时遇到了新的问题,记录下

CentOS7下使用pyenv安装多个版本的python时会提示缺少依赖环境
在这里插入图片描述
这是因为有些依赖包没有安装,执行以下命令安装

yum install readline readline-devel readline-static -y yum install openssl openssl-devel openssl-static -y yum install sqlite-devel -y yum install bzip2-devel bzip2-libs -y

再安装就成功了

使用pyenv安装Python版本

0.查看所有的python版本(pyenv管理的所有版本)

$ pyenv versions
system (set by /Users/xxx/.pyenv/version)

表示当前正在使用的版本,system表示用的是系统python版本
1.安装各种所需要的依赖

 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

2.安装 python 2.7.14(时间可能稍微有点长)

pyenv install 2.7.14 -v 

3.安装 python 3.6.4(时间可能稍微有点长)

pyenv install 3.6.4 -v

4.更新pyenv的数据库

pyenv rehash
  1. 查看 pyenv支持管理的python 版本
pyenv versions  
  1. 选中3.6.4(pyenv数据库中存在的版本)作为默认版本 - 切换版本
    注意切换为全局切换
pyenv global 3.6.4

注:如果版本没有切换成功,需要在~/.bash_profile 文件中添加如下两句话
然后切换版本

export PYENV_ROOT=~/.pyenv
export PATH=$PYENV_ROOT/shims:$PATH

然后查看成功

:~$ pyenv versions
  system
* 3.6.4 (set by /home/sdas/.pyenv/version)
使用pyenv+virtualenv创建虚拟环境

1.使用pip安装virtualenv

pip install virtualenv

2.创建你的python虚拟环境(3.6.4是你pyenv数据库中存在的版本,env36是你虚拟环境的名字,可以任意起)

pyenv virtualenv 3.6.4 env36

3.切换到你的虚拟环境

pyenv activate env36

如果命令行中有(env36),如(env36) yfx@bo:~$,说明你处于env36的虚拟环境中
4.退出虚拟环境

pyenv deactivate
Ubuntu20.04下Pyenv的安装、卸载与使用 阅读详情

相关推荐

27 | Ubuntu18.04.5 安装python3.7及卸载

Ubuntu python3.7

u013916029的博客 4893

pyenv环境安装(CentOS)

1、首选通过pyenv_installer来安装。命令如下: curl https://pyenv.run | bash 2、如果上述shell安装失败,可以选择手动安装: 安装依赖: yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel 下载代码: git clone https://gith

上帝De助手 3056

Ubuntu 18.04 Python开发环境搭建:pyenv+pip镜像+虚拟环境实战

Python开发环境是指支撑代码编写、依赖管理与运行隔离的一整套工具链,其核心原理在于版本控制、路径隔离与包源调度。在老旧系统如Ubuntu 18.04上,系统Python(3.6.9)已无法满足现代框架(PyTorch/TensorFlow)和语法特性(walrus operator/zoneinfo)需求,技术价值体现在规避系统污染、实现多版本共存与可复现部署。典型应用场景包括WSL中运行数据清洗脚本、ComfyUI图像生成服务、CUDA加速的机器学习项目等。本文聚焦pyenv构建自主Python版本工

weixin_33937499的博客 374

Python多环境管理——pyenv

1 背景&概述 因某些需求,需要安装TensorFlow,很自然地在终端敲下了以下命令: pip install tensorflow 然后。。。 好家伙??? 居然没有?? 因为是Python 3.9,去pypi搜索了,居然还真没有支持的,最高只有Python 3.8: 于是便考虑一个多版本的Python环境,碰巧就在Github上看到了一个22.3k的东西: 这就是pyenv,一个简单的Python版本管理器,可以轻松地在各个Python版本之间进行切换。 好了废话不说,进入正题。 2

氷泠 1万+

Ubuntu 16.04 Python 3 环境搭建:源码编译+pyenv+virtualenv 实战指南

Python 3 是现代开发的基础运行时环境,其核心原理在于版本隔离、依赖可控与系统解耦。在老旧但广泛使用的 Ubuntu 16.04 上,因内核(4.4)、glibc(2.23)和 OpenSSL(1.0.2g)等底层组件陈旧,直接 apt 安装或 deb 包部署极易引发 ssl 模块缺失、pip 证书校验失败、libc 版本冲突等稳定性风险。技术价值体现在通过源码编译实现精准适配,结合 pyenv 实现多版本动态切换,再以 virtualenv 构建项目级沙箱——三者协同达成零系统侵入、强环境隔离、高可

cuanjingyue4687的博客 343

Ubuntu 18.04 Ansible 部署实战:Pyenv+Pipx 隔离安装方案

Ansible 是一种基于 SSH 和 Python 的无代理(agentless)自动化配置管理工具,其核心原理依赖于控制端解析 YAML、建立安全连接并分发模块执行逻辑。技术价值在于轻量、可审计、无需目标机预装客户端,特别适用于老旧系统运维场景。在 Ubuntu 18.04 这类已结束标准支持(EOL)但仍在工业控制、金融终端等关键环境中服役的操作系统上,直接 apt 安装会引发版本过旧、Python 依赖冲突及 asyncio 内存泄漏等典型问题。本文聚焦 Pyenv 构建独立 Python 运行时与

weixin_34280237的博客 689

【记录】环境|Ubuntu18.04 Python 开发环境(虚拟环境)安装及四种切换方法对比

切换Python版本及环境,及VScode/pdb调试方法,包括virtualenv、venv、pyenv和pipenv。

shandianchengzi的博客 6566

Ubuntu 18.04 Python 3 开发环境配置:pyenv+conda 双轨隔离实践

Python 开发环境配置是软件工程的基础能力,其核心在于运行时、包管理与虚拟环境的三重隔离。在 Ubuntu 等 Linux 发行版中,系统 Python 与用户 Python 的耦合极易引发 apt 崩溃、pip 冲突和 ABI 不兼容等深层问题。pyenv 提供源码级 Python 版本控制,保障 glibc 和 OpenSSL 兼容性;conda 则通过预编译二进制提供开箱即用的科学计算栈(如 PyTorch/TensorFlow),二者协同可实现系统安全与开发敏捷的统一。该方案广泛适用于遗留服务器

weixin_30906185的博客 384

ubuntu18.04 下安装pyenv并使用pyenv+virtualenv创建python虚拟环境

安装pyenv 1.安装下载工具curl sudo apt-get install curl 2.使用curl下载pyenv curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash 会出现提示 export PATH="~/.pyenv/bin:$P...

zhangxiaohui4445的博客 1128

Ubuntu 20.04 Python环境配置全解:从系统pip到pyenv与conda

Python环境管理是Linux开发的基础能力,其核心在于理解解释器、包管理器与隔离机制三者的协同关系。Ubuntu 20.04因终止Python 2支持并移除python命令默认链接,迫使开发者直面版本冲突与依赖隔离问题。技术原理上,apt提供稳定但滞后的系统级Python,venv实现轻量进程级隔离,pyenv支持多版本源码编译切换,而conda则通过预编译二进制包与跨语言依赖管理解决CUDA、BLAS等复杂场景。这种分层架构赋予开发者对环境主权的完全掌控,广泛应用于数据科学、深度学习(如PyTorch

weixin_33747129的博客 674

Ubuntu 18.04 部署 Django 4.2 的稳定环境构建方法论

Django 是 Python 生态中最主流的 Web 开发框架,其生产部署需兼顾版本兼容性、依赖隔离与系统安全性。在已进入 EOL 状态的 Ubuntu 18.04 上,系统自带的 Python 3.6.9 与老旧软件源无法满足 Django 4.2+(要求 Python ≥ 3.8)的运行基础,直接 apt 安装将导致安全漏洞(如 CVE-2023-24580)、依赖污染及系统工具崩溃等高危问题。因此,现代工程实践强调采用 pyenv 管理多版本 Python、virtualenv 实现项目级依赖隔离、

dichengyan0013的博客 636

Ubuntu 18.04 Python 3开发环境实战部署指南

Python开发环境是软件工程的基础支撑,其核心在于解释器管理、依赖隔离与系统兼容性三者的协同。在Linux服务器场景中,Ubuntu 18.04作为长期支持(LTS)发行版,虽已停止主流更新,但仍在大量生产环境中承担关键任务;其内置的Python 3.6与APT包管理体系深度耦合,导致直接升级或替换易引发apt崩溃、ssl模块缺失、pip失效等连锁故障。因此,构建稳定环境需摒弃‘覆盖式安装’思维,转而采用分层隔离策略:以apt保障系统底层稳定,用pyenv实现用户级多版本灵活切换,再通过venv完成项目级

babing2770的博客 569

Ubuntu 20.04安装Python 2.7:兼容性配置与虚拟环境管理指南

Python作为一门广泛应用的编程语言,其版本迭代带来了显著的性能提升和语法改进。Python 2与Python 3的兼容性问题,是许多开发者在维护老旧项目时面临的核心挑战。理解多版本Python环境共存的原理,关键在于通过独立的解释器路径和包管理工具实现隔离,这能有效避免系统依赖冲突,保障生产环境的稳定性。其技术价值在于,它允许开发者在现代化的操作系统上,继续运行和维护那些基于旧版Python编写的核心业务系统或研究代码,降低了因技术栈强制升级带来的高昂重写成本。在诸如科学计算、工业控制、学术研究复现等特

weixin_33910460的博客 457

pyenv环境配置-Ubuntu18.04

pyenv安装与环境配置

博客 1036

结合 Conda 手动安装 RepeatMasker

RepeatMasker 是一个广泛使用的生物信息学工具,用于识别和屏蔽(mask)基因组序列中的 重复序列(repeats) 。在使用过程中需要调用重复序列数据库(Repbase 和 Dfam),如果使用Conda安装的话会出现许多问题,因此推荐手动安装。在此记录我手动安装RepeatMasker的流程,希望对各位同学有所帮助。

m0_65437087的博客 2534

2023西工大NOJ (C语言版) 完结!!!

代码均可AC,不含解析。

annesede的博客 8万+

ubuntu18 apache2 wsgi django pyenv virtualenv 搭建 https websocket 网站

ubuntu18 apache2 wsgi django pyenv virtualenv 搭建 https websocket 网站 @()[websocket, 虚拟环境, ssl] 默认在开发环境已经有网站成品,本文记录网站部署配置,以备后用: https双向认证 :服务器、客户端双向认证,通过安装自签名证书互相验证身份; websocket :使用channels库实现,再套一层ssl增...

范立川的博客 803

工业以太网通讯Profinet协议详解

Profinet是通过西门子控制系统被广泛使用的工业通信协议,是一种较新的,基于以太网的工业通讯协议。

mydatai的专栏 8850

ubuntu安装python虚拟环境virtualenv后无法创建虚拟环境的问题

在重装系统的过程中,我又遇到了一个坑,这是我之前安装的时候重来没有遇到过的问题,这里简单记录一下问题描述和解决方法。 我使用的系统是ubuntu18.04,python是python3.6版本,安装python3.6的方法很简单,只需要下面几条条命令即可: sudo add-apt-repository ppa:jonathonf/python-3.6 sudo apt-get update su...

静幽水 2437

GEE APP:基于Sentinel-1 SAR数据的洪水检测与制图系统:利用GEE平台实现洪涝区域提取、面积统计及矢量栅格化导出

本文介绍了一个基于Google Earth Engine平台的Sentinel-1 SAR洪水监测应用,通过自动化流程实现洪水淹没区域的精准检测与分析。系统采用Refined Lee滤波降噪和Otsu自适应阈值算法,结合SRTM地形数据消除干扰,可自动计算淹没面积并生成可视化结果。该工具提供用户友好的交互界面,支持多格式数据导出,适用于灾害应急响应、环境监测和城市规划等领域,具有云平台处理、算法鲁棒性强和操作简便等技术优势。

此星光明博客 326

FGC_grasp复现

FGC_GraspNet复现

qq_39568387的博客 385

使用pyenv与pyenv-virtualenv管理Python版本与虚拟环境

在上一篇博客中,我介绍了如何在ubutnu 18.04中安装pyenv。这一次我将介绍如何使用pyenv与pyenv-virtualenv管理Python版本与虚拟环境。 0.相关命令 首先使用pyenv -h命令可以查看可用命令 Usage: pyenv <command> [<args>] Some useful pyenv commands are: comm...

weixin_34138056的博客 252

你的小程序地图功能还只是“摆设”吗?支付宝地图API的深度玩法都在这里了!

🏆本文收录于《滚雪球学支付宝小程序开发》专栏,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

**My Coding Family** 1817

Ubuntu 20.04 Python开发环境配置:隔离、多版本与生产就绪

Python开发环境本质上是解释器、标准库、包管理器和依赖路径的协同系统;其核心原理在于运行时路径隔离(如sys.path控制)与环境变量劫持(如PATH、PYTHONPATH);技术价值在于避免系统Python污染、保障多项目版本兼容性及提升部署可复现性;典型应用场景包括机器学习(PyTorch/TensorFlow)、Web服务(Django/Flask)和嵌入式工具链(如vins_mono);在Ubuntu 20.04这一LTS系统中,因APT包管理严格、系统Python深度绑定,必须采用pyenv、

weixin_33868027的博客 433

C#上位机与西门子PLC全链路通信实战教程:数据采集+SQL存储+数据库报表查询+报警历史完整实现

在工业自动化领域,西门子PLC(S7-200Smart/1200/1500)凭借稳定的性能、强大的功能、完善的生态,稳居工业控制器的主流地位;而凭借开发效率高、界面美观、兼容性强、数据库操作便捷的优势,成为工业上位机开发的首选编程语言。二者的组合,是目前制造业、自动化产线、智能仓储、暖通自控等场景的绝对主流方案,也是工业上位机工程师必须吃透的核心技术栈。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1861

我装了10个ClawHub技能,这些最好用!

ClawHub就是Clawdbot的"应用商店"。Clawdbot是手机ClawHub是App Store技能就是各种App装了技能,Clawdbot才能干更多事。这个技能解决了我的信息过载问题。为什么装我订阅了很多Newsletter。每天收到一堆长文章,根本看不完。怎么用“总结这篇文章的核心观点”“把这个Newsletter提炼成3个要点”“这篇技术博客有哪些可以实践的建议?安装命令真实体验现在我收到长文章,直接转发给Clawdbot。它会提炼出核心要点和行动清单。

Maynor的博客 6099
上一篇: Kubernetes筆記(三十三)-- Helm Hooks用法
下一篇: Ubuntu18.04下使用pyenv安装python报错:BUILD FAILED (Ubuntu 18.04 using python-build 20180424)
那记忆微凉
博客等级 码龄9年 412粉丝 387原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值