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实现Tab自动补全和历史命令管理的方法
Mar 12 Python
Python实现爬取逐浪小说的方法
Jul 07 Python
python中enumerate函数遍历元素用法分析
Mar 11 Python
Python3利用SMTP协议发送E-mail电子邮件的方法
Sep 30 Python
Python实现PS图像抽象画风效果的方法
Jan 23 Python
python 2.7.13 安装配置方法图文教程
Sep 18 Python
python模拟登陆,用session维持回话的实例
Dec 27 Python
对python中的装包与解包实例详解
Aug 24 Python
python3 assert 断言的使用详解 (区别于python2)
Nov 27 Python
浅谈Python中os模块及shutil模块的常规操作
Apr 03 Python
Python requests上传文件实现步骤
Sep 15 Python
Python如何加载模型并查看网络
Jul 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
php将HTML表格每行每列转为数组实现采集表格数据的方法
2015/04/03 PHP
PHP批量修改文件名称的方法分析
2017/02/27 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
2017/05/20 PHP
jQuery圆形统计图开发实例
2015/01/04 Javascript
javascript顺序加载图片的方法
2015/07/18 Javascript
js图片轮播效果实现代码
2020/04/18 Javascript
js中使用使用原型(prototype)定义方法的好处详解
2016/07/04 Javascript
javascript 分号总结及详细介绍
2016/09/24 Javascript
JavaScript在form表单中使用button按钮实现submit提交方法
2017/01/23 Javascript
Node.js与Sails redis组件的使用教程
2017/02/14 Javascript
NodeJS自定义模块写法(详解)
2017/06/27 NodeJs
vue-router+vuex addRoutes实现路由动态加载及菜单动态加载
2017/09/28 Javascript
微信小程序实现订单倒计时
2020/11/01 Javascript
详解JavaScript中精度失准问题及解决方法
2020/02/04 Javascript
Vue Render函数原理及代码实例解析
2020/07/30 Javascript
[54:41]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VGJ.T VS paiN
2018/03/31 DOTA
python 实现文件的递归拷贝实现代码
2012/08/02 Python
Python中的闭包实例详解
2014/08/29 Python
python中pass语句用法实例分析
2015/04/30 Python
python 删除非空文件夹的实例
2018/04/26 Python
python中plot实现即时数据动态显示方法
2018/06/22 Python
python生成器用法实例详解
2019/11/22 Python
python使用gdal对shp读取,新建和更新的实例
2020/03/10 Python
python+selenium+chrome批量文件下载并自动创建文件夹实例
2020/04/27 Python
django 外键创建注意事项说明
2020/05/20 Python
python 实现简易的记事本
2020/11/30 Python
CSS3截取字符串实例代码【推荐】
2018/06/07 HTML / CSS
HTML5梦幻之旅——炫丽的流星雨效果实现过程
2013/08/06 HTML / CSS
用html5实现语音搜索框的方法
2014/03/18 HTML / CSS
人力资源经理的岗位职责
2014/03/02 职场文书
个人工作总结范文2014
2014/11/07 职场文书
检察院起诉书
2015/05/20 职场文书
2015年重阳节活动主持词
2015/07/30 职场文书
浅谈Python魔法方法
2021/06/28 Java/Android
Python集合的基础操作
2021/11/01 Python
微信小程序 WeUI扩展组件库的入门教程
2022/04/21 Javascript