使用pyenv搭建多python版本共存,便于开发

简介:

使用物理机win7,虚拟机使用VM WareStation

在虚拟机上使用centos7.2带桌面版版的系统;

本次实验使用pyenv来管理python的版本,好处的在开发中使用各个版本灵活切换。


安装pyenv:

1.安装git

  ]# yum -y install git

2.安装pyenv

  ]# curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash

3.配置环境变量

 编辑~/.bash_profile里面增加如下内容:

vim ~/.bash_profile

export PATH="~/.pyenv/bin:$PATH"

eval "$(pyenv init -)"

eval "$(pyenv virtualenv-init -)"

wKiom1hCoETxMlaxAAAh33a6TOU997.png

]$ source ~/.bash_profile

]$ . ~/.bash_profile

 

安装python

  1. 安装编译工具

    ]# yum -y install gcc make patch

  2. 安装依赖

    ]# yum -y install gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel

  3. 安装python3.5.2

    pyenv install 3.5.2


第3步,如果没有网络,可事先下载至本地,再进行安装:

手动创建cache目录,默认没有此目录:

]# mkdir ~/.pyenv/cache

把python3.5.2的源码包Python-3.5.2.tar.xz放在该目录下,再执行pyenv install 3.5.2即可。


安装成功:

wKioL1hCn7ryk6BCAAAx5ZckRZo185.png

默认安装在

]$ ls ~/.pyenv/versions/3.5.2/目录下。


安装后可查看版本:

wKioL1hCncDT2zaEAAAvShAlbp4670.png

]$ pyenv versions

]$ pyenv version

二者区别在于versions是查看所有python版本,version是查看默认python版本。

而python -V是查看系统自带的python版本,也是pyenv version查看的默认版本。


pyenv的使用

  1. local命令

    设置某目录及其子目录使用指定的python版本

    前提是先cd进入某目录

    ]$ pyenv local 3.5.2

    wKioL1hCow7CRSq3AAAffT_Hwis005.png

  2. global命令

    设置全局python版本,一般不用此命令。

  3. virtualenv命令

    创建虚拟环境,为开发环境使用多个python版本;

    例如:使用python3.5.2为基础,创建虚拟环境magedu:

    ]$ pyenv local 3.5.2

    恢复系统默认python版本:pyenv local system

    ]$ mkdir py3

    ]$ cd py3

    ]$ pyenv virtualenv 3.5.2 py3.5.2

    ]$ pyenv local py3.5.2

    以后,直接cd进入py3目录,自动切换为python3.5.2版本,多版本创建同理;

  4. 安装ipython

    手动创建:~/.pip/pip.conf

    [global]

    index-url = http://mirrors.aliyun.com/pypi/simple/

    trusted-host = mirrors.aliyun.com

    ]$ pip install ipython


进入python和ipython命令行对比:

wKioL1hCykCSVJNZAABLA9U6EQo970.png

wKiom1hCykCAeXdBAAApBqJPvuc165.png


安装jupyter:是python的web界面

]$ pip install jupyter


此时,可通过命令行启动web界面:

]$ jupyter notebook --ip=0.0.0.0

会弹出x11转发的web窗口:

注意:要在xshell中设置

wKiom1hC0KXDZ7ogAADK6DgQW4g727.png

弹出:

wKioL1hC0NijKp6MAADbqZZac94401.png

因为,此界面是通过x11转发的,速度较慢,可直接关闭;然后在win7上直接打开浏览器,输入虚拟机ip:8888,如下:

wKiom1hC0bvBg1_kAADSJBEXFj8526.png

选new--》python3

wKioL1hC0aTx5vPdAADUfcc5dtI603.png

wKiom1hC0aWQXupoAAEGDW--zTg172.png

类似ipython的命令行;

wKioL1hC0ljTwP74AADYbgdUzZI342.png

用来实验、演示非常方便。

ipython命令行可实验bash的命令。

python命令行使用ctrl+d或exit()退出。

退出jupyter命令行,使用ctrl+c。


注意:

1、在不同的centos版本,可能在命令行执行后,不会自动打开web页面,无需关心,直接web上手动输入IP:8888打开既可;

2、在命令行观察,有可能会登陆jupyter密码,如下:

wKioL1i8thuBCBLBAAAakLcxMvo285.png

token=后面的就是密码,需要在登陆jupyter时,输入;

如果觉得每次登陆jupyter输入密码麻烦,可以取消密码登陆:步骤如下:

1、生成jupyter配置文件:

]# jupyter notebook --generate-config

2、执行后,会在命令行显示,配置文件所在路径;显示为/root/.jupyter/jupyter_notebook_config.py

3、更改配置文件如下:

vim /root/.jupyter/jupyter_notebook_config.py

wKiom1i8thnBOaFFAAAKJCnX92Q777.png

改为:

wKiom1i8t5vSOgElAAAJyrxEImA800.png

重启jupyter后,登陆web页面就无需密码登陆了。










本文转自 crystaleone 51CTO博客,原文链接:http://blog.51cto.com/linsj/1879236,如需转载请自行联系原作者
目录
相关文章
|
存储 监控 算法
淘宝买家秀 API开发实录Python(2025)
本文讲述了作者在电商开发领域,尤其是对接淘宝买家秀 API 接口过程中所经历的挑战与收获。从申请接入、签名验证、频率限制到数据处理和实时监控,作者分享了多个实战经验与代码示例,帮助开发者更高效地获取和处理买家秀数据,提升开发效率。
|
API C++ 开发者
PySide vs PyQt:Python GUI开发史诗级对决,谁才是王者?
PySide 和 PyQt 是 Python GUI 开发领域的两大利器,各有特色。PySide 采用 LGPL 协议,更灵活;PyQt 默认 GPL,商业使用需授权。两者背后团队实力雄厚,PySide 得到 Qt 官方支持,PyQt 由 Riverbank Computing 打造。API 设计上,PySide 简洁直观,贴近原生 Qt;PyQt 增加 Pythonic 接口,操作更高效。性能方面,两者表现优异,适合不同需求的项目开发。选择时可根据项目特点与开源要求决定。
1551 20
|
人工智能 数据安全/隐私保护 Python
小红书图文生成器,小红书AI图文生成工具,python版本软件
Pillow库自动生成符合平台尺寸要求的配图7;3)利用Playwright实现自动化发布流程6。
|
Ubuntu 安全 API
Python3.14正式支持Free Threaded版本!
Python 社区迎来历史性时刻!Python 3.14 正式将无 GIL 构建列为受支持选项,标志着 Free‑Threaded Phase II 启动。本文将深入解析 PEP 779 规定的支持标准、3.14.0b3 版本的新变化,以及这对Python开发者意味着什么。文末还有小彩蛋哦!
2052 87
|
11月前
|
设计模式 人工智能 API
AI智能体开发实战:17种核心架构模式详解与Python代码实现
本文系统解析17种智能体架构设计模式,涵盖多智能体协作、思维树、反思优化与工具调用等核心范式,结合LangChain与LangGraph实现代码工作流,并通过真实案例验证效果,助力构建高效AI系统。
1117 7
|
API 数据安全/隐私保护 开发者
企业微信自动加好友软件,导入手机号批量添加微信好友,python版本源码分享
代码展示了企业微信官方API的合规使用方式,包括获取access_token、查询部门列表和创建用户等功能
|
程序员 测试技术 开发工具
怎么开发Python第三方库?手把手教你参与开源项目!
大家好,我是程序员晚枫。本文将分享如何开发Python第三方库,并以我维护的开源项目 **popdf** 为例,指导参与开源贡献。Popdf是一个PDF操作库,支持PDF转Word、转图片、合并与加密等功能。文章涵盖从fork项目、本地开发、单元测试到提交PR的全流程,适合想了解开源贡献的开发者。欢迎访问[popdf](https://gitcode.com/python4office/popdf),一起交流学习!
471 21
怎么开发Python第三方库?手把手教你参与开源项目!
|
数据采集 存储 数据库
Python爬虫开发:Cookie池与定期清除的代码实现
Python爬虫开发:Cookie池与定期清除的代码实现
|
算法 程序员 API
电商程序猿开发实录:淘宝商品python(2)
本文分享了开发者在对接淘宝商品详情API过程中的真实经历,涵盖权限申请、签名验证、限流控制、数据解析及消息订阅等关键环节,提供了实用的Python代码示例,帮助开发者高效调用API,提升系统稳定性与数据处理能力。
|
人工智能 搜索推荐 数据可视化
用 Python 制作简单小游戏教程:手把手教你开发猜数字游戏
本教程详细讲解了用Python实现经典猜数字游戏的完整流程,涵盖从基础规则到高级功能的全方位开发。内容包括游戏逻辑设计、输入验证与错误处理、猜测次数统计、难度选择、彩色输出等核心功能,并提供完整代码示例。同时,介绍了开发环境搭建及调试方法,帮助初学者快速上手。最后还提出了图形界面、网络对战、成就系统等扩展方向,鼓励读者自主创新,打造个性化游戏版本。适合Python入门者实践与进阶学习。
1523 1

推荐镜像

更多