Python易用,但用好却不易,其中比较头疼的就是包管理和Python不同版本的问题,特别是使用Windows操作系统时。
为了解决这些问题,许多工具比如WinPython、Anaconda等,这些发行版将python和许多常用的package打包,此外,还有virtualenv、pyenv等工具管理虚拟环境。
一、Anaconda安装
一)anaconda概述
Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。
conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。
Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。其实还有Miniconda,顾名思义,它只包含最基本的内容——python与conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。
conda的设计理念——conda将几乎所有的工具、第三方包都当做package对待,甚至包括python和conda自身!因此,conda打破了包管理与环境管理的约束,能非常方便地安装各种版本python、各种package并方便地切换。
二)anaconda安装
Anaconda的下载页参见官网下载,Linux、Mac、Windows均支持。
安装时,会发现有两个不同版本的Anaconda,分别对应Python 2.7和Python 3.5,两个版本其实除了这点区别外其他都一样。后面我们会看到,安装哪个版本并不本质,因为通过环境管理,我们可以很方便地切换运行时的Python版本。(由于我常用的Python是2.7和3.4,因此倾向于直接安装Python 2.7对应的Anaconda)
下载后直接按照说明安装即可。这里想提醒一点:尽量按照Anaconda默认的行为安装——不使用root权限,仅为个人安装,安装目录设置在个人主目录下(Windows就无所谓了)。这样的好处是,同一台机器上的不同用户完全可以安装、配置自己的Anaconda,不会互相影响。
对于Mac、Linux系统,Anaconda安装好后,实际上就是在主目录下多了个文件夹(~/anaconda)而已,Windows会写入注册表。安装时,安装程序会把bin目录加入PATH(Linux/Mac写入~/.bashrc,Windows添加到系统变量PATH),这些操作也完全可以自己完成。以Linux/Mac为例,安装完成后设置PATH的操作
# 将anaconda的bin目录加入PATH,根据版本不同,也可能是~/anaconda3/binecho 'export PATH="~/anaconda2/bin:$PATH"' >> ~/.bashrc
# 更新bashrc以立即生效
source ~/.bashrc
# 验证
which conda
或conda --version
安装miniconda
USER=$(whoami)mkdir etc
cd etc
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
sudo bash Miniconda3-latest-Linux-x86_64.sh -b
cd ..
sudo rm -r etc
echo "PATH=\"~/miniconda3/bin:\$PATH\"" >> ~/.bashrc
source ~/.bashrc
sudo chown -R $USER:$USER ~/miniconda3
三)conda的环境管理
conda的环境管理功能允许我们同时安装若干不同版本的Python,并能自有切换。
conda安装Python3.8的步骤
# 创建一个名为python38的环境,指定Python版本是3.8(不用管是3.8.x,conda会为我们自动寻找3.8.x中的最新版本)conda create --name python38 python=3.8
# 安装好后,使用activate激活某个环境
activate python38 # for Windows
source activate python38 # for Linux & Mac
# 激活后,会发现terminal输入的地方多了python38的字样,实际上,此时系统做的事情就是把默认2.7环境从PATH中去除,再把3.8对应的命令加入PATH
# 此时,再次输入
python --version
# 可以得到`Python 3.8.5 :: Anaconda 4.1.1 (64-bit)`,即系统已经切换到了3.8的环境
# 如果想返回默认的python 2.7环境,运行
deactivate python38 # for Windows
source deactivate python38 # for Linux & Mac
# 删除一个已有的环境
conda remove --name python38 --all
用户安装的不同python环境都会被放在目录~/anaconda/envs下,可以在命令中运行conda info -e查看已安装的环境,当前被激活的环境会显示有一个星号或者括号。
方法有二:
1. 显式地给出conda的绝对地址
2. 在python38环境中也安装conda工具(推荐)。
四)conda的包管理
conda的包管理,这部分功能与pip类似
例:安装scipy
# 安装scipyconda install scipy
# conda会从从远程搜索scipy的相关信息和依赖项目,对于python 3.4,conda会同时安装numpy和mkl(运算加速的库)
# 查看已经安装的packages
conda list
# 最新版的conda是从site-packages文件夹中搜索已经安装的包,不依赖于pip,因此可以显示出通过各种方式安装的包
conda的一些常用操作如下
# 查看当前环境下已安装的包conda list
# 查看某个指定环境的已安装包
conda list -n python38
# 查找package信息
conda search numpy
# 安装package
conda install -n python38 numpy
# 如果不用-n指定环境名称,则被安装在当前活跃环境
# 也可以通过-c指定通过某个channel安装
# 更新package
conda update -n python38 numpy
# 删除指定环境的package(没有-n参数,默认操作的是当前虚拟环境)
conda remove -n python38 numpy
设置国内镜像
如果需要安装很多packages,你会发现conda下载的速度经常很慢,因为Anaconda.org的服务器在国外。所幸的是,清华TUNA镜像源有Anaconda仓库的镜像,我们将其加入conda的配置即可
# 添加Anaconda的TUNA镜像conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
# TUNA的help中镜像地址加有引号,需要去掉
# 设置搜索时显示通道地址
conda config --set show_channel_urls yes
执行完上述命令后,会生成~/.condarc(Linux/Mac)或C:\Users\USER_NAME\.condarc文件,记录着我们对conda的配置,直接手动创建、编辑该文件是相同的效果。
二、安装、升级、使用pip
一)安装
1、方式一:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 下载安装脚本sudo python get-pip.py # 运行安装脚本
2、方式二:直接使用系统安装工具进行安装
sudo apt-get install python-pip二)升级
sudo apt-get install python-pip或者pip3 install --upgrade pip
三)使用:常用的命令
显示版本和路径pip --version
获取帮助
pip --help
升级 pip
pip install -U pip
如果这个升级命令出现问题 ,可以使用以下命令:
sudo easy_install --upgrade pip
安装包
pip install SomePackage # 最新版本
pip install SomePackage==1.0.4 # 指定版本
pip install 'SomePackage>=1.0.4' # 最小版本
比如我要安装 Django。用以下的一条命令就可以,方便快捷。
pip install Django==1.7
升级包
pip install --upgrade SomePackage
升级指定的包,通过使用==, >=, <=, >, < 来指定一个版本号。
卸载包
pip uninstall SomePackage
搜索包
pip search SomePackage
显示安装包信息
pip show
查看指定包的详细信息
pip show -f SomePackage
列出已安装的包
pip list
查看可升级的包
pip list -o
四)pip配置国内源
清华大学:https://pypi.tuna.tsinghua.edu.cn/simple阿里云:http://mirrors.aliyun.com/pypi/simple/
豆瓣:http://pypi.douban.com/simple/
按照不同需要和不同平台一次演示安装方法
方式一:临时使用国内pypi镜像安装
pip install -i http://pypi.douban.com/simple/ numpypip install -i http://pypi.douban.com/simple/--trusted-host pypi.douban.com #此参数“--trusted-host”表示信任,如果上一个提示不受信任,就使用这个
方式二:永久使用国内pypi镜像安装
Linux平台安装方式
(1)创建pip.conf文件首先运行以下命令
cd ~/.pip # 运行此命令切换目录
如果提示目录不存在,自行创建一个(如果目录存在,可跳过此步),如下:
mkdir ~/.pip
cd ~/.pip
在 .pip目录下创建一个 pip.conf 文件,如下:
touch pip.conf
(2)编辑 pip.conf 文件
首先打开文件,命令如下:
sudo vi ~/.pip/pip.conf
接着,写入以下内容:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn # trusted-host 此参数是为了避免麻烦,否则使用的时候可能会提示不受信任
Windows平台安装方式
(1)新建 pip 配置文件夹,直接在user用户目录中创建一个名为 pip 的文件夹( 即%HOMEPATH%\pip),如下图所示:
(2)接着在 pip 文件夹中创建一个名为 pip 的文本文件(后缀名由" .txt "改为 " .ini "),格式如下所示
修改完成后保存,启动cmd,使用 " pip install xxx "(xxx为你要下载的包名),即可默认使用国内源下载。