python利器——pipenv和pyenv介绍

Python013

python利器——pipenv和pyenv介绍,第1张

也可以看我CSDN的博客:

https://blog.csdn.net/u013332124/article/details/90049921

在写python程序时,经常会被版本管理以及第三方包管理搞的很头疼。这两天看了业内相关的解决方案,觉的很不错。

我们经常在开发时会需要用到多个python版本,为了解决版本问题,比较常见的做法是修改环境变量来切换版本,但是修改环境变量终究比较麻烦。另外,我们在安装新的python版本时也会小心翼翼,避免影响到系统自带的python版本。这个问题都可以通过pyenv来解决。

pyenv可以在系统中安装多个python版本,并且不影响到系统自带的python,而且通过pyenv我们可以快速的在多个python版本之间来回切换

安装pyenv之前需要保证电脑上已经安装了git:

安装好了之后,使用很简单,比如我们要安装python3.7.3的版本,可以直接通过pyenv安装

之后可以通过以下命令快速切换python命令

其实pyenv的原理也很简单,就是对python版本进行统一管理,之后也是通过修改环境变量来切换python命令的指向。但是通过pyenv我们只要执行一个命令就可以了,我们可以看到所有通过pyenv安装的python版本都放在 ~/.pyenv/versions 目录下,也更加方便管理

pyenv 支持的参数也比较少:

shell表示切换的版本仅当前版本有效,session关闭后就失效了

global表示全局,重启也不会影响更改

local表示临时生效,但是系统重启后就不会生效了

pyenv虽然解决了python版本切换的问题,但是依旧无法解决各个项目的第三方包管理的问题。比如说A项目需要用requests版本是1.0,而B项目需要requests版本是2.0。这时候pipenv就派上用场了。值得一提的是,pipenv也是写requests的那位大佬写的。

pipenv可以为我们的项目自动创建和管理一个虚拟环境 。并且会在项目目录下创建一个Pipfile来管理第三方包。

pipenv的安装很简单:

使用也很简单,进入项目目录后,使用以下任一命令创建一个虚拟环境:

创建成功后会在项目目录下生产一个Pipfile文件来管理第三方包。之后可以通过以下命令安装requests

这样requests的安装只对当前项目生效 。之后可以通过以下命令进行虚拟环境运行相关脚本:

或者通过以下命令直接使用虚拟环境运行命令:

pipenv的原理也很简单,我们输入 pipenv -venv 就可以得到虚拟环境的目录。然后在执行pipenv shell时,会看到以下输出语句:

其实就是激活虚拟环境的activate,设置一下相关环境变量。通过pipenv安装的第三方包也都在 ~/.local/share/virtualenvs/monitor-9E5KrdNU/lib 目录下。

有了pipenv后,其实virtualenv已经没什么用了。但是也有人在线上部署的时候结合virtualenv和pipenv来部署,因此这里做个简单的介绍。

安装virtualenv也很简单:

之后创建一个虚拟环境:

其实就是创建了一个venv的目录,这个目录下有bin、lib、include,其中通过虚拟环境安装的第三方包都会放在lib下。

通过以下命令进入虚拟环境:

和pipenv基本一样,就是通过activate设置了环境变量。

之后通过 deactivate 退出虚拟环境,其实就是恢复了环境变量。

使用pipenv在本地开发好后,总要部署到线上。如果线上也能直接安装pipenv固然最好,但是不好在服务器安装pipenv的情况,怎么办呢?

1、如果线上使用的是virtualenv管理虚拟环境的话

可以直接在virtualenv的虚拟环境中安装pipenv,这样就可以直接运行我们基于pipenv构建的项目了

2、 如果线上连virtualenv都没有的话

通过pipenv导出requirements.txt,然后到线上安装第三方包

pipenv介绍

pyenv介绍

virtualenv介绍

前面我们提及 ggplot 在 R 和 Python 中都是数据可视化的利器,在机器学习和数据分析领域得到了广泛的应用。 pyecharts 结合了 Python 和百度开源的 Echarts 工具,基于其交互性和便利性得到了众多开发者的认可。拥有如下的特点:

首先绘制第一个图表:

数据分析中常见的微博转发图也是通过关系图转化来的:

其他的图形示例可以在官方文档中查询: http://gallery.pyecharts.org/ 。

机器学习导论:什么是机器学习

机器学习必知必会:凸优化

深入浅出机器学习算法:XGBoost

机器学习必知必会:梯度下降法

Python数据分析:谁是2018当之无愧的“第一”国产电影

如何用python爬虫实现简单PV刷量——以CSDN为例

python脚本从零到一构建自己的免费代理IP池

[R]数据可视化的最佳解决方案:ggplot

秋招面试:零基础拿到腾讯数据岗offer需要做哪些努力

股票市场中如何用数据思维跑赢九成的投资者

精算师证有多难考,怎么准备?

[1] http://pyecharts.org/#/zh-cn/intro

[2] http://pyecharts.herokuapp.com/bar

[3] http://gallery.pyecharts.org/