也可以看我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/