使用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,如需转载请自行联系原作者
目录
相关文章
|
13天前
|
项目管理 开发工具 git
Python面试题:Git版本控制与协作开发
【4月更文挑战第19天】本文聚焦于Python面试中Git版本控制与协作开发的考察点,涵盖Git基础、协作流程及实战示例。面试者需理解仓库、提交、分支等核心概念,掌握常用命令,熟悉主干开发和GitFlow策略。在协作开发中,要掌握Pull Request工作流,有效处理合并冲突,并善用标签与里程碑。注意避免混淆工作区、忽视代码审查和直接在远程分支上工作等常见错误。通过实例展示了如何在GitFlow策略下合并分支和解决冲突,强调持续学习与实践以提升Git技能。
22 1
|
5天前
|
Python
conda升级python版本
conda升级python版本
|
9天前
|
开发者 Python
six,一个神奇的 Python 版本兼容工具库!
six,一个神奇的 Python 版本兼容工具库!
20 4
|
9天前
|
Ubuntu Python
ubuntu升级Python版本
现在,你已成功升级了Python版本并可以使用新版本进行开发和运行程序。
25 1
|
12天前
|
数据采集 存储 人工智能
【Python+微信】【企业微信开发入坑指北】4. 企业微信接入GPT,只需一个URL,自动获取文章总结
【Python+微信】【企业微信开发入坑指北】4. 企业微信接入GPT,只需一个URL,自动获取文章总结
27 0
|
12天前
|
人工智能 机器人 API
【Python+微信】【企业微信开发入坑指北】3. 如何利用企业微信API给微信群推送消息
【Python+微信】【企业微信开发入坑指北】3. 如何利用企业微信API给微信群推送消息
15 0
|
12天前
|
缓存 人工智能 API
【Python+微信】【企业微信开发入坑指北】2. 如何利用企业微信API主动给用户发应用消息
【Python+微信】【企业微信开发入坑指北】2. 如何利用企业微信API主动给用户发应用消息
10 0
|
12天前
|
XML 人工智能 数据安全/隐私保护
【Python+微信】【企业微信开发入坑指北】1. 数据链路打通:接收用户消息处理并回复
【Python+微信】【企业微信开发入坑指北】1. 数据链路打通:接收用户消息处理并回复
9 0
|
12天前
|
人工智能 算法 API
【Python+微信】【企业微信开发入坑指北】0. 创建自建应用并接入自己的服务
【Python+微信】【企业微信开发入坑指北】0. 创建自建应用并接入自己的服务
11 0
【Python+微信】【企业微信开发入坑指北】0. 创建自建应用并接入自己的服务
|
12天前
|
人工智能 Python
【Python + 微信】微信公众号开发避坑指南
【Python + 微信】微信公众号开发避坑指南
8 0