一、前言
最近正在准备数维杯,之前试过在电脑上安装 tensorflow,但一直都不成功。然后看了一眼 pip 管理工具下一堆包,乱得一批,所以干脆直接打算捡一些比较重点的包装上,比较鸡肋的就不要了。
二、环境准备
pip安装与使用
pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。
目前如果你在 python.org 下载最新版本的安装包,则是已经自带了该工具。
注意:Python 2.7.9 或 Python 3.4 以上版本都自带 pip 工具。
pip 官网:https://pypi.org/project/pip/
你可以通过以下命令来判断是否已安装:
代码语言:javascript复制pip --version # Python2.x 版本命令
pip3 --version # Python3.x 版本命令
pip使用国内镜像源
默认情况下 pip 使用的是国外的镜像,在下载的时候速度非常慢,本文我们介绍使用国内清华大学的源,地址为:
代码语言:javascript复制https://pypi.tuna.tsinghua.edu.cn/simple
我们可以直接在 pip 命令中使用 -i 参数来指定镜像地址,例如:
代码语言:javascript复制pip3 install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
以上命令使用清华镜像源安装 numpy 包。
这种只对当前安装对命令有用,如果需要全局修改,则需要修改配置文件。
Linux/Mac os 环境中,配置文件位置在 ~/.pip/pip.conf(如果不存在创建该目录和文件):
代码语言:javascript复制mkdir ~/.pip
打开配置文件 ~/.pip/pip.conf
,修改如下:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn
查看 镜像地址:
代码语言:javascript复制$ pip3 config list
global.index-url='https://pypi.tuna.tsinghua.edu.cn/simple'
install.trusted-host='https://pypi.tuna.tsinghua.edu.cn'
可以看到已经成功修改了镜像。
Windows下,你需要在当前对用户目录下(C:Usersxxpip,xx 表示当前使用对用户,比如张三)创建一个 pip.ini在pip.ini文件中输入以下内容:
代码语言:javascript复制[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn
升级pip包管理工具
在命令行中输入下命令(如果是最新版本这一步可略):
代码语言:javascript复制python -m pip install --upgrade pip
卸载pip下管理的所有包
首先在命令行输入下命令,目的是将 pip 下管理所有的包信息写到一个文本文件中:
代码语言:javascript复制pip freeze > requirements.txt
再按照 所生成文本文件的信息将所有信息卸载:
代码语言:javascript复制pip uninstall -r requirements.txt
批量下载自己所需的包
首先先要定义 requirements.txt 文件,里面的格式是一个包的名字一行,依次往下排。分享一下我的:
代码语言:javascript复制numpy
pandas
pyecharts
matplotlib
seaborn
keras
tensorflow
sklearn
statsmodels
scipy
biopython
再安装所有:
代码语言:javascript复制pip install -r requirements.txt
三、python包推荐及介绍
- numpy 数据分析类,相当于 免费版的Matlab 矩阵功能以及其它一些少量的小算法。
- pandas 数据分析类,非常完美的表格操作,非常适合洗数据。
- pyecharts 数据可视化类,百度良心开源项目的echarts 的python 接口,功能非常强大,但缺点就是通常代码量会比较大,比较建议用来做地图(比 geopandas 安装方便一万倍)。
- matplotlib 数据可视化类,非常经典的数据可视化工具,功能很全面,代码量比 pyecharts 少,但图效果通常相对简单。
- seaborn 数据可视化类,基于 matplotlib 开发的可视化工具,它的特点是所有的零碎东西几乎都是设置成你想要的样子,而且做复杂图代码量相较 matplotlib 而言极少,且里面还包含了一些常用的算法最终一块可视化,亮点是甚至还能深度兼容 pandas 表格,强烈推荐!
- tensorflow 神经网络类,Google 的开源神经网络构建工具,在计算机界应该是相当出名,构建自由度极强,但缺点就是代码量比较大(自由度高的代价)。
- keras 神经网络类,基于 tensorflow 开发的神经网络构建工具,比 tensorflow 的代码量要少很多,对新手比较友好,竞赛期间比较推荐用这个包,省时间,代码量小。
- sklearn 机器学习类,功能十分强大,代码量短小精悍。基本上除神经网络外其他所有机器学习算法(包括回归、聚类、降维)总之基本上 Matlab 直接支持的那些机器学习算法,甚至还有部分 Matlab 不直接支持的算法(例如 t-SNE、MDS 等)都能以 5 行以内的代码量实现。
- scipy 数据科学、算法类,功能也是非常强大。包含特殊函数、统计学、微积分求解、拟合(基本所有拟合都能做)、线性规划、整数规划、数据结构算法等,甚至还可以做图片处理。