python虚拟环境完美部署教程


Posted in Python onAugust 06, 2019

一、前言

预处理

建议仔细看完本文章之后在进行操作,避免失误,本环境可以用于生产环境,有利于生产环境python之间的环境隔离,互相不会产生环境冲突;pyenvpyenv-virtualenv可以完美结合使用,具体使用情况看项目具体要求;

依赖环境要求

yum install readline readline-devel readline-static -y
yum install openssl openssl-devel openssl-static -y
yum install sqlite-devel -y
yum install bzip2-devel bzip2-libs -y
yum install libffi-devel -y

二、pyenv安装

pyenv获取

[root@tset ~]# git clone https://github.com/yyuu/pyenv.git ~/.pyenv
Cloning into '/root/.pyenv'...
remote: Enumerating objects: 17352, done.
remote: Total 17352 (delta 0), reused 0 (delta 0), pack-reused 17352
Receiving objects: 100% (17352/17352), 3.37 MiB | 24.00 KiB/s, done.
Resolving deltas: 100% (11818/11818), done.

配置pyenv系统环境

[root@tset ~]# vim ~/.bashrc
## add by liuchao at 20190806     //添加以下内容
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)" 
//保存退出
[root@tset ~]# source ~/.bashrc    //执行配置生效

三、pyenv使用

pyenv 安装python版本

个人建议:自己在python官网下载想要安装的版本;首先要在pyenv目录下创建cache文件夹,用来存放python安装包。(可以解决下载安装慢的问题)

[root@tset ~]# mkdir ~/.pyenv/cache        //创建cache文件夹,将下载的python安装包存放,
[root@tset ~]# cd ~/.pyenv/cache/
[root@tset cache]# ls               //python安装包后缀名必须是.tar.xz
Python-2.7.16.tar.xz Python-3.7.3.tar.xz
pyenv install

[root@tset cache]# cd
[root@tset ~]# pyenv install 3.7.3 -v
/tmp/python-build.20190806095432.10104 ~
/tmp/python-build.20190806095432.10104/Python-3.7.3 /tmp/python-build.20190806095432.10104 ~
Installing Python-3.7.3...
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for python3.7... no
checking for python3... no
checking for python... python
checking for --enable-universalsdk... no
checking for --with-universal-archs... no
checking MACHDEP... checking for --without-gcc... no
checking for --with-icc... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for a sed that does not truncate output... /usr/bin/sed
checking for --with-cxx-main=<compiler>... no
checking for g++... no
configure:

检查是否安装成功

[root@tset ~]# pyenv versions
* system (set by /root/.pyenv/version)
 3.7.3

更新数据库

[root@tset ~]# pyenv rehash

pyenv切换python版本

[root@tset ~]# pyenv global 2.7.8 // 全局
[root@tset ~]# pyenv local 2.7.8  // 当前目录下
[root@tset ~]# pyenv shell 2.7.8  // shell版本
[root@tset ~]# pyenv shell --unset // 取消当前的shell设定的版本
#创建垫片路径(为所有已安装的可执行文件创建 shims,如:~/.pyenv/versions/*/bin/*,因此,每当你增删了 Python 版本或带有可执行文件的包(如 pip)以后,都应该执行一次本命令)
[root@tset ~]# pyenv rehash

安装与卸载

[root@tset ~]# pyenv install -l # 查看可安装的版本
[root@tset ~]# pyenv install 2.7.8 # 安装python2.7.8的版本
[root@tset ~]# pyenv rehash # 安装模块后
[root@tset ~]# pyenv pyenv uninstall 2.7.8 # 卸载

四、pyenv-virtualenv

安装pyenv-virtualenv

[root@tset ~]# git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
Cloning into '/root/.pyenv/plugins/pyenv-virtualenv'...
remote: Enumerating objects: 2064, done.
remote: Total 2064 (delta 0), reused 0 (delta 0), pack-reused 2064
Receiving objects: 100% (2064/2064), 580.31 KiB | 17.00 KiB/s, done.
Resolving deltas: 100% (1413/1413), done.

环境配置

[root@tset ~]# echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
[root@tset ~]# source ~/.bash_profile

使用方法

[root@tset ~]# pyenv virtualenv 2.7.10 env-2.7.10  //创建虚拟环境
[root@tset ~]# pyenv activate env-2.7.10  //激活虚拟环境
[root@tset ~]# pyenv deactivate  //退出虚拟环境
[root@tset ~]# pyenv uninstall env-2.7.10  //删除虚拟环境
[root@tset ~]# rm -rf ~/.pyenv/versions/env-2.7.10  //删除真实目录

总结

以上所述是小编给大家介绍的python虚拟环境完美部署教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
详解Python中的__init__和__new__
Mar 12 Python
git进行版本控制心得详谈
Dec 10 Python
Python常见字典内建函数用法示例
May 14 Python
Python实现常见的回文字符串算法
Nov 14 Python
Python利用itchat库向好友或者公众号发消息的实例
Feb 21 Python
简单了解python代码优化小技巧
Jul 08 Python
python如何从文件读取数据及解析
Sep 19 Python
python查看数据类型的方法
Oct 12 Python
Python warning警告出现的原因及忽略方法
Jan 31 Python
python图形界面开发之wxPython树控件使用方法详解
Feb 24 Python
python数据处理——对pandas进行数据变频或插值实例
Apr 22 Python
Ubuntu权限不足无法创建文件夹解决方案
Nov 14 Python
python批量图片处理简单示例
Aug 06 #Python
Python实用库 PrettyTable 学习笔记
Aug 06 #Python
浅谈django2.0 ForeignKey参数的变化
Aug 06 #Python
Python中调用其他程序的方式详解
Aug 06 #Python
运用PyTorch动手搭建一个共享单车预测器
Aug 06 #Python
基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
Aug 06 #Python
django将数组传递给前台模板的方法
Aug 06 #Python
You might like
PHP echo,print,printf,sprintf函数之间的区别与用法详解
2013/11/27 PHP
PHP解析目录路径的3个函数总结
2014/11/18 PHP
PHP使用ODBC连接数据库的方法
2015/07/18 PHP
PHP的mysqli_stmt_init()函数讲解
2019/01/24 PHP
VBScript版代码高亮
2006/06/26 Javascript
TextArea 控件的最大长度问题(js json)
2009/12/16 Javascript
JavaScript 学习笔记(六)
2009/12/31 Javascript
ASP.NET jQuery 实例2 (表单中使用回车在TextBox之间向下移动)
2012/01/13 Javascript
js实现感应鼠标图片透明度变化的方法
2015/02/20 Javascript
Bootstrap学习笔记之css样式设计(1)
2016/06/07 Javascript
浅析JavaScriptSerializer类的序列化与反序列化
2016/11/22 Javascript
jQuery实现动态删除LI的方法
2017/05/30 jQuery
文本溢出插件jquery.dotdotdot.js使用方法详解
2017/06/22 jQuery
jQuery操作选中select下拉框的值代码实例
2020/02/07 jQuery
[52:22]EG vs VG Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
[01:06]欢迎来到上海,TI9
2018/08/26 DOTA
Python多线程实例教程
2014/09/06 Python
Python多线程下载文件的方法
2015/07/10 Python
python3使用pyqt5制作一个超简单浏览器的实例
2017/10/19 Python
Python通过matplotlib画双层饼图及环形图简单示例
2017/12/15 Python
python3监控CentOS磁盘空间脚本
2018/06/21 Python
实例讲解Python脚本成为Windows中运行的exe文件
2019/01/24 Python
pytorch实现onehot编码转为普通label标签
2020/01/02 Python
TensorFlow 显存使用机制详解
2020/02/03 Python
Python如何优雅删除字符列表空字符及None元素
2020/06/25 Python
Python实现冒泡排序算法的完整实例
2020/11/04 Python
详解CSS3中使用gradient实现渐变效果的方法
2015/08/18 HTML / CSS
专科毕业生学习生活的自我评价
2013/10/26 职场文书
小饰品店的创业计划书范文
2013/12/28 职场文书
工作个人的自我评价
2014/01/14 职场文书
先进德育工作者事迹材料
2014/01/24 职场文书
《窗前的气球》教学反思
2014/04/07 职场文书
2015元旦主持词开场白和结束语
2014/12/14 职场文书
2016年春节慰问信息大全
2015/11/30 职场文书
法制教育讲座心得体会
2016/01/14 职场文书
Jedis操作Redis实现模拟验证码发送功能
2021/09/25 Redis