基本理论
问题提出

  Python,笔者常用于计算科学,故而需要一些常用的Python包提供支持,但是由于Python的包管理器pip默认的下载资源pypi是位于国外的服务器,故而在命令终端使用pip安装包时,时常会报time out超时现象的错误。(这属于计算机网络基础的问题,这里就不赘述了!)
  解决方案,使用国内的pypi镜像源,将Python默认的pypi镜像源更换为国内的pypi镜像源。使用国内一些pypi镜像,有两种方式,一种是临时指定pypi源,一种是永久修改pypi源。这样,无论是使用原生Python、Anaconda、Jupyter Lab、Jupyter Notebook、PyCharm都是可以的的,因为pip包管理器在这些组件里面都是一样的,特别使用Anaconda,就不需要在重新配置国内的conda包管理器的镜像源,使用pip包管理器一样的可以。

解决方案

国内镜像源

  • 【清华大学pypi镜像源】:https://pypi.tuna.tsinghua.edu.cn/simple
  • 【阿里巴巴pypi镜像源】:https://mirrors.aliyun.com/pypi/simple
  • 【 豆瓣(douban) 】:http://pypi.douban.com/simple/
  • 【中国科学技术大学】: http://pypi.mirrors.ustc.edu.cn/simple/

在命令终端使用如下命令即可

# 查看包管理器pip的版本,至少要求pip版本在10以上
pip --version

# 如果有需要,可以升级pip到最新版本
python -m pip install --upgrade pip

# 设置全局默认pypi国内镜像源地址,只需要一个即可
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple

# 可以临时使用指定的pypi镜像源,命令如下
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple packageName
设置配置文件
Windows系统

1 Win + R 打开【运行】窗口,输入%HOMEPATH%,自动跳转到用户目录
2 在打开的目录下新建一个目录,命名为pip
3 进入pip目录,新建配置文件,命名为pip.ini,注意Windows下配置文件后缀为.ini
4 打开配置文件pip.ini,输入pypi源,如下内容

[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
Unix&Linux系统

1 在终端使用如下命令,新建pip配置文件,为当前登录用户Python设置pypi镜像源

vi ~/.pip/pip.config

2 在配置文件中输入pypi源,内容同上配置文件,需要简单的Vi&Vim操作命令

[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
pip常用命令
  • python -m pip install --upgrade pip # 升级pip
  • pip install package_name # 安装包
  • pip uninstall package_name # 卸载包
  • pip list # 查看本地安装的包
  • pip show --files package_name # 查看包是否安装
  • pip list --outdated # 查看本地需要升级的包
  • pip install --upgrade package_name # 升级包
  • pip freeze > packages.txt # 将所有包信息输出重定向到.txt文件
  • pip install/uninstall -r packages.txt # 批量安装或者卸载包
批量处理Python包

  解决方案,使用virtualenv的虚拟环境(不会使用的请使用Google或者百度一下),这样为每一个项目配置一个Python的虚拟环境,在这个项目中使用的所有包的信息,都不会影响原生主机中的Python,这样有利于与隔离Python版本、项目的所需包。

# 将所有包信息输出重定向到.txt文件,包括包的所有信息,版本等等
pip freeze > packages.txt 

 # 批量安装或者卸载包
pip install/uninstall -r packages.txt

# 例子:使用原生的Python配置科学计算实用的常用包,默认配置好了国内镜像源
# 首先写好packages.txt信息,不需要写具体的版本号,
# pip下载时会根据Python版本自动选择最新的包的版本
# =========packages.txt的具体安装包信息=========
# scipy
# numpy
# pandas
# matplotlib
# scikit-learn
# jupyterlab
#============================================
# 在命令终端中进入,packages.txt 所在的目录位置(这需要一点简单的终端命令)
# 输入以下命令,等待安装即可!!!
pip install -r packages.txt



# 例子:使用原生的Python卸载所有的python包,默认配置好了国内镜像源
# 首先导出python所安装的所有包信息
# 使用如下命令即可,导出的文件有所有包的基本信息以及依赖包
# 将所有包信息输出重定向到.txt文件,包括包的所有信息,版本等等,输出在当前位置
pip freeze > packages.txt 
# =========packages.txt的具体安装包信息=========
anaconda-navigator                 1.9.12
beautifulsoup4                     4.8.2
conda                              4.8.2
ipykernel                          5.1.4
ipython                            7.12.0
jupyter                            1.0.0
jupyter-client                     5.3.4
jupyter-console                    6.1.0
jupyter-core                       4.6.1
jupyterlab                         1.2.6
jupyterlab-server                  1.0.6
matplotlib                         3.1.3
nbconvert                          5.6.1
nbformat                           5.0.4
notebook                           6.0.3
numpy                              1.18.1
pandas                             1.0.1
pandocfilters                      1.4.2
Pillow                             7.0.0
pip                                20.0.2
scikit-learn                       0.22.1
scipy                              1.4.1
seaborn                            0.10.0
setuptools                         45.2.0.post2
spyder                             4.0.1
spyder-kernels                     1.8.1
#============================================
# 在命令终端中进入,packages.txt 所在的目录位置(这需要一点简单的终端命令)
# 输入以下命令,等待卸载即可!!!
pip uninstall -r packages.txt