使用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,如需转载请自行联系原作者
目录
相关文章
|
30天前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的商城管理系统源码+运行步骤
基于Python+Vue开发的商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的网上商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
66 7
|
20天前
|
程序员 测试技术 开发工具
怎么开发Python第三方库?手把手教你参与开源项目!
大家好,我是程序员晚枫。本文将分享如何开发Python第三方库,并以我维护的开源项目 **popdf** 为例,指导参与开源贡献。Popdf是一个PDF操作库,支持PDF转Word、转图片、合并与加密等功能。文章涵盖从fork项目、本地开发、单元测试到提交PR的全流程,适合想了解开源贡献的开发者。欢迎访问[popdf](https://gitcode.com/python4office/popdf),一起交流学习!
84 21
怎么开发Python第三方库?手把手教你参与开源项目!
|
2月前
|
存储 算法 API
【01】整体试验思路,如何在有UID的情况下获得用户手机号信息,python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
【01】整体试验思路,如何在有UID的情况下获得用户手机号信息,python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
306 82
|
22天前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的美容预约管理系统源码+运行
基于Python+Vue开发的美容预约管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的美容诊所预约管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
42 9
|
19天前
|
JavaScript 前端开发 关系型数据库
基于Python+Vue开发的体育场馆预约管理系统源码+运行
本项目为大学生课程设计作业,采用Python和Vue技术构建了一个体育场馆预约管理系统(实现前后端分离)。系统的主要目标在于帮助学生理解和掌握Python编程知识,同时培养其项目规划和开发能力。参与该项目的学习过程,学生能够在实际操作中锻炼技能,为未来的职业发展奠定良好的基础。
51 3
|
25天前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的摄影网上预约管理系统源码+运行
基于Python+Vue开发的摄影网上预约管理系统(前后端分离),影楼婚纱摄影,这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的在线摄影预约管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
39 8
|
22天前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的新闻管理系统源码+运行
基于Python+Vue开发的新闻管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的新闻管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
52 5
|
26天前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的民宿客房预订管理系统源码运行
基于Python+Vue开发的民宿客房预订管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的民宿客房预订管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
55 8
|
21天前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的房产销售管理系统源码+运行
基于Python+Vue开发的房产销售管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的房产销售管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
38 2
|
28天前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的反诈视频宣传管理系统源码+运行步骤
基于Python+Vue开发的反诈视频宣传管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的反诈宣传管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
44 6

热门文章

最新文章

下一篇
oss创建bucket