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根据距离和时长计算配速示例
Feb 16 Python
用实例解释Python中的继承和多态的概念
Apr 27 Python
python在控制台输出进度条的方法
Jun 20 Python
python 实现自动远程登陆scp文件实例代码
Mar 13 Python
通过Python实现自动填写调查问卷
Sep 06 Python
Python文件操作之合并文本文件内容示例代码
Sep 19 Python
Python抓取框架Scrapy爬虫入门:页面提取
Dec 01 Python
了解不常见但是实用的Python技巧
May 23 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
Feb 25 Python
python实现图片转字符画
Feb 19 Python
pytorch 预训练模型读取修改相关参数的填坑问题
Jun 05 Python
教你怎么用Python实现GIF动图的提取及合成
Jun 15 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
利用yahoo汇率接口实现实时汇率转换示例 汇率转换器
2014/01/14 PHP
php 类中的常量、静态属性、非静态属性的区别
2017/04/09 PHP
jquery的ajax从纯真网(cz88.net)获取IP地址对应地区名
2009/12/02 Javascript
JS中prototype关键字的功能介绍及使用示例
2013/07/21 Javascript
js 自定义个性下拉选择框示例
2013/08/20 Javascript
JavaScript函数获取事件源的小例子
2014/05/14 Javascript
js数组常见操作及数组与字符串相互转化实例详解
2015/11/10 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
2016/05/23 Javascript
Javascript中的迭代、归并方法详解
2016/06/14 Javascript
node.js中module.exports与exports用法上的区别
2016/09/02 Javascript
使用JavaScript计算前一天和后一天的思路详解
2019/12/20 Javascript
three.js 将图片马赛克化的示例代码
2020/07/31 Javascript
[05:06]DOTA2-DPC中国联赛 正赛 VG vs Magma选手采访
2021/03/11 DOTA
python定时器使用示例分享
2014/02/16 Python
利用标准库fractions模块让Python支持分数类型的方法详解
2017/08/11 Python
python日期时间转为字符串或者格式化输出的实例
2018/05/29 Python
python处理csv中的空值方法
2018/06/22 Python
使用Python获取并处理IP的类型及格式方法
2018/11/01 Python
Python设计模式之抽象工厂模式原理与用法详解
2019/01/15 Python
PyCharm+Qt Designer+PyUIC安装配置教程详解
2019/06/13 Python
Pycharm保存不能自动同步到远程服务器的解决方法
2019/06/27 Python
python+Django+pycharm+mysql 搭建首个web项目详解
2019/11/29 Python
通过 Python 和 OpenCV 实现目标数量监控
2020/01/05 Python
python 给图像添加透明度(alpha通道)
2020/04/09 Python
python 画条形图(柱状图)实例
2020/04/24 Python
python代数式括号有效性检验示例代码
2020/10/04 Python
软件测试企业面试试卷
2016/07/13 面试题
30岁生日感言
2014/01/25 职场文书
美国留学经济担保书
2014/05/20 职场文书
用人单位终止解除劳动合同证明书
2014/10/06 职场文书
六查六看自检自查剖析材料
2014/10/14 职场文书
转正申请报告格式
2015/05/15 职场文书
带你彻底理解JavaScript中的原型对象
2021/04/14 Javascript
jquery插件实现图片悬浮
2021/04/16 jQuery
深入理解go slice结构
2021/09/15 Golang
集英社今正式宣布 成立游戏公司“集英社Games”
2022/03/31 其他游戏