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基础教程之元组操作使用详解
Mar 25 Python
详解在Python程序中自定义异常的方法
Oct 16 Python
遗传算法之Python实现代码
Oct 10 Python
Python实现PS滤镜的旋转模糊功能示例
Jan 20 Python
解决python 输出是省略号的问题
Apr 19 Python
python使用matplotlib画柱状图、散点图
Mar 18 Python
Python学习笔记之列表推导式实例分析
Aug 13 Python
解决Python中回文数和质数的问题
Nov 24 Python
关于Pytorch的MNIST数据集的预处理详解
Jan 10 Python
python3 Scrapy爬虫框架ip代理配置的方法
Jan 17 Python
Django model.py表单设置默认值允许为空的操作
May 19 Python
python 实现性别识别
Nov 21 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写的获取各搜索蜘蛛爬行记录代码
2012/08/21 PHP
PHP输出Excel PHPExcel的方法
2018/07/26 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
2020/06/05 PHP
js控制框架刷新
2008/08/01 Javascript
javascript操作cookie的文章(设置,删除cookies)
2010/04/01 Javascript
extjs中grid中嵌入动态combobox的应用
2011/01/01 Javascript
Mac地址验证的javascript代码
2013/11/09 Javascript
jQuery简单实现禁用右键菜单
2015/03/10 Javascript
详解JavaScript设计模式开发中的桥接模式使用
2016/05/18 Javascript
AngularJS实现动态编译添加到dom中的方法
2016/11/04 Javascript
详谈js中window.location.search的用法和作用
2017/02/13 Javascript
微信小程序 页面跳转事件绑定的实例详解
2017/09/20 Javascript
JS开发中基本数据类型具体有哪几种
2017/10/19 Javascript
React.Js添加与删除onScroll事件的方法详解
2017/11/03 Javascript
jQuery实现table表格信息的展开和缩小功能示例
2018/07/21 jQuery
JQuery扩展对象方法操作示例
2018/08/21 jQuery
Vue 报错TypeError: this.$set is not a function 的解决方法
2018/12/17 Javascript
Vue实战教程之仿肯德基宅急送App
2019/07/19 Javascript
简单掌握Python中glob模块查找文件路径的用法
2016/07/05 Python
Python 如何访问外围作用域中的变量
2016/09/11 Python
python机器学习之KNN分类算法
2018/08/29 Python
jupyter notebook实现显示行号
2020/04/13 Python
简单了解python列表和元组的区别
2020/05/14 Python
完美解决keras保存好的model不能成功加载问题
2020/06/11 Python
关于Kotlin中SAM转换的那些事
2020/09/15 Python
北美三大旅游网站之一:Travelocity
2017/08/12 全球购物
国际书籍零售商:Wordery
2017/11/01 全球购物
函授教育个人学习的自我评价
2013/12/31 职场文书
党的群众路线教育实践活动公开承诺书
2014/03/28 职场文书
2014年五四青年节演讲稿范文
2014/04/22 职场文书
《祁黄羊》教学反思
2014/04/22 职场文书
建筑工程专业大学生求职信
2014/04/23 职场文书
岗位聘任报告
2015/03/02 职场文书
街道办残联2016年助残日活动总结
2016/04/01 职场文书
python批量更改目录名/文件名的方法
2021/04/18 Python
python通过opencv调用摄像头操作实例分析
2021/06/07 Python