【python】pyenv与virtualenv安装,实现python多版本多项目管理
踩了很多坑,记录一下这次试验,本次测试环境:Linux centos7 64位。
pyenv是一个python版本管理工具,它能够进行全局的python版本切换,也可以为单个项目提供对应的python版本,使用pyenv以后,可以在服务器上安装多个不同的python版本,版本切换方便,能够更好的满足我们的需求。
virtualenv是一个管理不同项目的工具,用以隔离不同项目的工作环境,在同一个python版本实现不同的环境需求。
pyenv与virtualenv配合使用,可以更好的管理我们在Linux系统中python环境。
1,开始prenv的安装:
下载项目到本地
yum install git -y
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
配置环境变量
echo 'export PATH=~/.pyenv/bin:$PATH' >> ~/.bashrc
echo 'export PYENV_ROOT=~/.pyenv' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source 命令重新载入配置文件:
source ~/.bashrc
#验证pyenv是否正确安装:
pyenv --help #查看pyenv支持安装的python版本:
pyenv install --list
安装一下python的依赖:
yum install gcc -y
yum install openssl-devel bizp2-devel expat-devel gdbm-devel readline-devel sqlite-devel libffi-devel -y
到了这里我们就可以用pyenv 安装不同的python 版本了,这里的3.7.2与2.7.5是要安装的python版本。
这里要是用官方的源地址下载会非常的慢,甚至不动,,我们修改为国内的下载地址,首先去淘宝下载源: http://npm.taobao.org/mirrors/python 找到自己需要安装的版本
比如我拿了这两个地址:
http://npm.taobao.org/mirrors/python/2.7.5/Python-2.7.5.tar.xz
http://npm.taobao.org/mirrors/python/3.7.2/Python-3.7.2.tar.xz
然后我分别修改这两个文件
~/.pyenv/plugins/python-build/share/python-build/2.7.5
~/.pyenv/plugins/python-build/share/python-build/3.7.2
退出保存,然后执行下面命令下载速度就会非常的快
pyenv install -v 3.7.2
pyenv install -v 2.7.5
这里有几个pyenv常用命令:
#查看当前安装的python版本
pyenv versions #切换选择当前python版本
pyenv global 3.7.2 #删除python版本
pyenv uninstall 2.7.2
pyenv安装完成!
2,开始安装 pyenv-virtualenv
下载项目到本地
git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
#配置环境变量
echo 'echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile #source 命令重新载入配置文件:
source ~/.bashrc #查看是否安装成功
pyenv help virtualenv
创建python2.7.5版本的虚拟工作环境:project_27_1 和 创建python3.7.2版本的虚拟工作环境:project_37_1
pyenv virtualenv 2.7.5 project_27_1
pyenv virtualenv 3.7.2 project_37_1
#查看创建的工作环境
pyenv virtualenvs
使用实例:
#进入环境project_27_1
pyenv activate project_27_1
#在该环境安装0.8版本的flask
pip install flask==0.8
#退出当前工作环境
pyenv deactivate #删除虚拟环境first_project
pyenv virtualenv-delete project_27_1
最新文章
- git 中关于LF 和 CRLF 的问题
- URL和URI的区别和联系
- WF(二)
- Bower 手册
- Hanoi Tower问题分析
- 了解<;hx>;标签,为你的网页添加标题
- linux磁盘限额配置:quota命令
- 引用 xp系统引导修复(转载)
- ios常用资源网址链接
- 2016弱校联盟十一专场10.2 Longest Increasing Subsequence
- Java 多文件压缩成一个文件工具类
- Maya中输出alembic文件的方法
- canal 结合 kafka 入门
- iOS 跳转到系统指定设置界面
- php中文件操作常用函数有哪些
- 2019.01.03 bzoj3456: 城市规划(生成函数+多项式取对)
- ace -- api
- linux测试工程介绍(Linux Test Project)
- 用html.parser抓网页中的超链接,返回list
- IP追踪
热门文章
- CentOS 6 修改时间和时区及设置修改及时间同步
- [CSP-S模拟测试]:big(Trie树+贪心)
- C++用参数返回结果与用返回值返回结果的思考
- python上下文管理,with语句
- 010-elasticsearch5.4.3【四】-聚合操作【一】-度量聚合【metrics】-min、max、sum、avg、count
- 008-elasticsearch5.4.3【二】ES使用、ES客户端、索引操作【增加、删除】、文档操作【crud】
- dig中文帮助
- IPv6 首部格式
- C#实体类生成Create Table SQL
- Java ——数组 选择排序 冒泡排序