注: 以下仅考虑 Python3

1. 配置国内镜像

1.1 pip 清华镜像

(pypi 镜像每 5 分钟同步一次)

临时使用

  1. pip install -i https://pypi.tuna.tsinghua.edu.cn/simple <some-package>
  2. pip install -i https://mirrors.aliyun.com/pypi/simple/ <some-package>

设为默认

  • 升级 pip 到最新的版本 (>=10.0.0) 后进行配置:
    1. pip install pip -U
    2. # 清华源
    3. pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
    4. # 阿里云源
    5. pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

1.2 Conda 清华镜像

参考链接 https://mirror.tuna.tsinghua.edu.cn/help/anaconda/

临时使用

  1. conda install -c https://mirrors.tuna.tsinghua.edu.cn/anaconda <package_name>

设为默认

  • Linux / Windows 系统: 在 ~/.condarc 中填入以下内容
  • 清华源

    1. channels:
    2. - defaults
    3. show_channel_urls: true
    4. channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
    5. default_channels:
    6. - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
    7. - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
    8. - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
    9. - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
    10. - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
    11. custom_channels:
    12. conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
    13. msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
    14. bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
    15. menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
    16. pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
    17. simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  • 北外源

    1. channels:
    2. - defaults
    3. show_channel_urls: true
    4. channel_alias: https://mirrors.bfsu.edu.cn/anaconda
    5. default_channels:
    6. - https://mirrors.bfsu.edu.cn/anaconda/pkgs/main
    7. - https://mirrors.bfsu.edu.cn/anaconda/pkgs/free
    8. - https://mirrors.bfsu.edu.cn/anaconda/pkgs/r
    9. - https://mirrors.bfsu.edu.cn/anaconda/pkgs/pro
    10. - https://mirrors.bfsu.edu.cn/anaconda/pkgs/msys2
    11. custom_channels:
    12. conda-forge: https://mirrors.bfsu.edu.cn/anaconda/cloud
    13. msys2: https://mirrors.bfsu.edu.cn/anaconda/cloud
    14. bioconda: https://mirrors.bfsu.edu.cn/anaconda/cloud
    15. menpo: https://mirrors.bfsu.edu.cn/anaconda/cloud
    16. pytorch: https://mirrors.bfsu.edu.cn/anaconda/cloud
    17. simpleitk: https://mirrors.bfsu.edu.cn/anaconda/cloud

    2. 创建虚拟环境

    2.1 conda

    首推的虚拟环境管理工具. 使用 conda 来安装包(而非 pip).
    查找库的链接: https://anaconda.org/

注意 conda 源的python包和pip源的python包是不通用的, 有事可以混合安装, 但容易出现依赖错误.
(有时候涉及到一些C++库如cuda的时候, 或者一些只在pip中存在的库需要同时用两种工具安装包的时候, 可能会出现各种奇怪的依赖错误导致环境创建失败.)

  1. # 创建 conda 环境
  2. conda create -n OpenCV-4.2.0-py3
  3. # 激活 conda 环境
  4. # For linux
  5. source activate OpenCV-4.2.0-py3
  6. # For windows
  7. activate OpenCV-4.2.0-py3
  8. # 在虚拟环境中安装 python 包
  9. conda install numpy
  10. # 虚拟环境中尽量不使用pip, 除非万不得已. pip和conda安装的包的兼容性很差.
  11. pip install numpy
  12. # 退出虚拟环境
  13. # For linux
  14. source deactivate
  15. # For windows
  16. deactivate

2.2 virtualenv

conda 安装环境不成功的第二选择.
virtualenv也是个python的第三方库, 用于管理虚拟环境, 但仍然使用pip来安装包.

  1. # 需要先在默认环境中安装该库
  2. pip install virtualenv
  3. # 创建一个独立的 python 环境. 这样就在当前目录下创建了一个venv文件夹, 其中包含了一个最小的python
  4. virtualenv venv
  5. # 也可以指定 python 版本
  6. virtualenv venv -p python3.6
  7. # 激活环境
  8. source venv/bin/activate

2.3 venv

(貌似不能指定 python版本, 所以暂不推荐, 这里只做记录)
以编译OpenCV为例, 创建一个 Python 虚拟环境:

  1. # 创建虚拟环境所在的文件夹
  2. mkdir ~/venv; cd ~/venv
  3. # 创建名为 OpenCV-4.2.0-py3 的虚拟环境
  4. python3 -m venv OpenCV-4.2.0-py3
  5. # 以下可选, 为激活虚拟环境创建短命令
  6. # echo "# Virtual Environment Wrapper" >> ~/.bashrc
  7. # echo "alias workoncv-$cvVersion=\"source $cwd/OpenCV-$cvVersion-py3/bin/activate\"" >> ~/.bashrc
  8. # 或者直接激活
  9. source ~/venv/OpenCV-4.2.0-py3/bin/activate
  10. # 在虚拟环境中安装python包
  11. pip install numpy matplotlib
  12. # 退出虚拟环境
  13. deactivate

3. 环境的导出和安装

3.1 pip

  1. # 导出库到文件
  2. pip freeze > requirements.txt
  3. # 从文件中安装库
  4. pip install -r requirements.txt

3.2 conda

  1. # 导出库到文件
  2. conda list -e > requirements.txt
  3. # 从文件中安装库
  4. conda install --file requirements.txt

上面的安装方法仅限于常规安装. 有一些第三方channel和pip安装的库无法用此法安装, 只能导出. 为此, 我们可以选择导出整个环境.

  1. # 导出环境到文件
  2. conda env export > env.yml
  3. # 从文件创建环境
  4. conda env create -f env.yml

3. Python 基本库

3.1 文档

4. Python 第三方库

名称 安装方式 功能
tqdm conda install tqdm
pip install tqdm
提供进度条
numpy conda install numpy
pip install numpy
提供多维数组的计算, 底层用C语言实现, 保证了效率. 是大量科学计算库的依赖库.
matplotlib conda install matplotlib
pip install matplotlib
提供二维和三维的绘图功能
scipy conda install scipy
pip install scipy
提供基于numpy的科学计算/数值计算功能
提供scipy.ndimage进行高维图像/张量处理
pandas conda install pandas
pip install pandas
结构化数据处理库, 基于Series和DataFrame两个数据结构进行数据处理. 适用于多类型结构化的数据, 可以与Excel的操作模式进行类比.
opencv conda install opencv OpenCV C++ 的 Python 包装
skimage conda install scikit-image 用于图像处理的库, 部分功使用的是scipy.ndimage
tensorflow pip install tensorflow
pip install tensorflow-gpu
一个基于静态图/动态图的用于机器学习/深度学习的分布式框架, Python包装, 依赖于 cudatoolkit和cudnn
pytorch 见官网 一个基于动态图的用于机器学习/深度学习的框架, 依赖于 cudatoolkit 和 cudnn
cudatoolkit conda install cudatoolkit cuda 工具箱, 配合tensorflow/pytorch使用
cudnn conda install cudnn cudnn 工具箱, 配合tensorflow/pytorch使用, 依赖于 cudatoolkit
sacred pip install sacred 实验工具, 用于配置, 组织, 记录和保证实验的可复现性. 鼓励实验的模块化和可配置性. 大量使用装饰器实现基本功能.
nibabel pip install nibabel 用于简单的医学图像读写
simpleitk conda install simpleitk -c simpleitk 强大的医学图像处理库, ITK C++ 的 Python 包装.

5. Python 编辑器/IDE

5.1 VSCode

链接: https://code.visualstudio.com/
介绍: 微软推出的多语言编辑器, 当然也支持 Python, 相比于大型 IDE, VSCode 是轻量级工具(但插件装多了也会变慢).
使用: 安装 VSCode, 从 VSCode 的插件市场安装 Python 插件
避坑: 避免使用默认的 python 语言解析服务器, 因为每次打开 VSCode 都要下载, 非常慢. 可以从插件市场安装微软提供的替代品 Pylance 插件.

5.2 PyCharm

链接: https://www.jetbrains.com/pycharm/
介绍: 功能强大的 Python IDE, 支持功能完善的智能感知, 并自动生成缺失的 API 接口文档. 支持远程ssh连接, 远程同步文件, 远程运行程序. 教育优惠可以免费试用专业版.