使用pyenv和virtualenv搭建python虚拟环境
为什么80%的码农都做不了架构师?>>>
pyenv可以帮助你在一台开发机上建立多个版本的python环境, 并提供方便的切换方法。
virtualenv可以搭建虚拟且独立的python环境,可以使每个项目环境与其他项目独立开来,保持环境的干净,解决包冲突问题。
首先我们可以用pyenv 安装多个python 版本, 比如安装了2.5, 2.6, 3.3 三个版本。 用户可以随意切换当前默认的python版本。 但这时候, 每个版本的环境仍是唯一的, 如果我们想在环境中安装一些库的话, 还是会导致这个版本的环境被修改。 这个时候, 如果我们用virtual env去建立虚拟环境, 就可以完全保证系统路径的干净。无论你在虚拟环境中安装了什么程序, 都不会影响已安装版本的系统环境。
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
(2)配置环境变量
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profileecho 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
(3)添加pyenv初始化到你的shell
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
(4)重新启动你的shell使更改生效。
exec $SHELLsource ~/.bash_profile
2 安装某个版本的python
首先我们可以查看一下有哪些版本的python 可以安装
[root@test-zabbix-agent ~]# pyenv install --list
Available versions:
2.1.3
2.2.3
2.3.7
2.4
2.4.1
2.4.2
2.4.3
2.4.4
2.4.5
2.4.6
2.5
安装
yum install python-devel patch zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel #安装依赖包
pyenv install -v 2.7.1pyenv install -v 3.3.5
卸载
pyenv uninstall 2.7.1
[root@test-zabbix-agent ~]# pyenv versions (查看所有版本)
* system (set by /root/.pyenv/version)2.7.13.3.5
[root@test-zabbix-agent ~]# pyenv version (version 查看当前版本)
system (set by /root/.pyenv/version)
简单来说我们已经在这台机器上安装了三个版本的python
system 代表当前系统的python 版本
2.7.1 和 3.3.5是我们用pyenv安装的
*表示当前的python版本, 可以看到, 我们还在使用的是默认的system 自带的python版本
切换python版本
[root@test-zabbix-agent ~]# pyenv global 3.3.5
[root@test-zabbix-agent ~]# pyenv versionssystem2.7.1
* 3.3.5 (set by /root/.pyenv/version)env271
[root@test-zabbix-agent ~]# pyenv version
3.3.5 (set by /root/.pyenv/version)
[root@test-zabbix-agent ~]# python
Python 3.3.5 (default, Jul 19 2015, 11:41:52)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
3.利用virtualenv 创建虚拟python环境
(1).pyenv-virtualenv插件安装:项目主页:https://github.com/yyuu/pyenv-virtualenv
pyenv virtualenv是pyenv的插件,为UNIX系统上的Python virtualenvs提供pyenv virtualenv命令。
git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
source ~/.bash_profile
(2) 创建一个2.7.1的虚拟环境
pyenv virtualenv 2.7.1 env271
这条命令在本机上创建了一个名为env271的python虚拟环境,这个环境的真实目录位于:~/.pyenv/versions/
(env271)[ root@test-zabbix-agent ~]# python
Python 2.7.1 (r271:86832, Jul 19 2015, 11:36:15)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
可以看到, python版本已经是2.7.1, 而且是在虚拟环境之中 (env271)
下面基本上你就可以在这个虚拟环境里面为所欲为了,再也不用担心系统路径被搞乱的问题了。
如果要切换回系统环境, 运行这个命令即可
pyenv deactivate
转载于:https://my.oschina.net/davehe/blog/625896
使用pyenv和virtualenv搭建python虚拟环境相关推荐
- 通过pyenv和virtualenv搭建python开发环境
文章目录 1. 安装pyenv 1.1 部署pyenv环境 1.2 配合环境变量 2. 命令使用 2.1 安装python版本 2.2 查看当前python版本 2.3 设置版本 3. virtual ...
- Virtualenv系列(一):使用Virtualenv搭建python虚拟环境
官方指导文档:https://virtualenv.pypa.io/en/latest/index.html virtualenv使用目的 为了防止安装过多的第三方包污染自己的开发环境, python ...
- 【Python配置】使用pyenv与virtualenv搭建单机多版本python多虚拟环境开发
用pyenv 和 virtualenv 搭建单机多版本python 虚拟开发环境 pyenv可以帮助你在一台开发机上建立多个版本的python环境, 并提供方便的切换方法. virtualenv则提供 ...
- 搭建Python虚拟环境
搭建Python虚拟环境 虚拟环境 概述 virtualenv 安装虚拟环境 Windows环境下 Linux环境下 创建虚拟环境 使用虚拟环境 虚拟机环境下安装包 PyCharm中使用虚拟环境 虚拟 ...
- 在公共服务器上搭建python虚拟环境
在公共服务器上搭建python虚拟环境 如果想在公共服务器(不止一个人用)上搭建自己的python环境应该怎么办? 用Anaconda和conda命令,先确保服务器上安装了Anaconda.安装Ana ...
- python虚拟环境 windows环境搭建_windows 下搭建python虚拟环境(示例代码)
################################### windows 下测试环境 C:\Users\wongg\django-cmdb>cd ..\cmdb ##下载get-p ...
- windows 下搭建python虚拟环境
################################### windows 下测试环境 C:\Users\wongg\django-cmdb>cd ..\cmdb ##下载get-p ...
- windows 搭建python 虚拟环境 写程序_Windows下搭建Python虚拟环境
1.进入你想要创建python虚拟环境的目录下 2.使用pip工具安装virtualenv软件包 pip install virtualenv 3.使用virtualenv命令创建一个名字为newen ...
- python虚拟环境的安装和配置_基于virtualenv的Python虚拟环境的安装配置(Mac环境)...
一.安装前提 明确自己的开发所需的python版本, Python 2.7.x 或者Python 3.6.x . 安装 Python 2.7.x 或Python 3.6.x 版的virtualenv. ...
- windows 搭建python 虚拟环境 写程序_Sublime下配置python编译环境及搭建虚拟环境:(windows下大致相同)...
1.编译环境配置import urllib.request,os,hashlib; h = '6f4c264a24d933ce70df5dedcf1dcaee' + 'ebe013ee18cced0e ...
最新文章
- Mybatis入门:2(xml形式的增删改查)
- FSM之SMC使用总结
- Java之构造器和构造方法的使用和意义
- GPU Gems翻译
- 跨链(5)“蚂蚁区块链”之跨链数据连接服务
- C语言中, 有些时候数值名并不与指针等价.
- python必刷面试_Python面试必刷题系列(5)
- TP5:缩短访问路径和路由的使用——2
- Guice学习(一)
- centos 启动一个redis_基于prometheus+grafana体系监控redis缓存服务
- C#中反射的使用(How to use reflect in CSharp)(3)Emit的使用
- MariaDB用户管理
- 蔚来es6_国产Model Y订单挤爆官网,蔚来ES 6惨遭大量退订?
- 管理员后台爆破扫描器-WebCrack
- XShell「6.0.0111」已激活授权绿色版v2
- 网页打开速度慢的原因及N种解决方法
- 收发器(Transceiver)架构1——接收机1
- 三天打鱼两天晒网C++
- 一张纸的厚度是0.0001米,将纸对折,问对折多少次厚度超过珠穆朗玛峰8848米
- 豆豆趣事[2014年08月]
热门文章
- 《剑指offer》面试题21——包含min函数的栈(C++)
- Python 程序设计方法
- scikit-learn学习笔记
- EXCEL 连接符的使用
- 湖泊的水色、水环境、水文遥感的区别
- python 常用的几个镜像源
- 错误使用 network/train (line 340) Output data size does not match net.outputs{2}.size.
- Redis-03-Redis集群的搭建
- java课程讲解,Java基础教程详解:多线程(1)-----多线程概念
- 程序员如何和产品经理优雅的干架