Skip to content

环境配置集合

docker 安装

# 导出镜像
docker save -o my_image.tar my_image:tag
# 导入镜像
docker load -i my_image.tar

conda 与 pip

创建conda 环境后,使用 conda installpip install 安装 Python 包的区别

核心区别

对比项 conda install pip install
包来源 conda-forgeanaconda 官方仓库 PyPI(Python Package Index)
依赖管理 使用 conda 的依赖解析器(更严格,避免冲突) 使用 pip 的依赖解析器(可能安装不兼容版本)
安装方式 优先安装预编译的二进制包(.whl.tar.gz 安装源码包(可能需要编译)
适用包类型 Python 包 + 非 Python 依赖(如 libblasgcc 仅 Python 包
环境隔离 直接集成在 conda 环境中 依赖 conda 环境,但包管理独立
冲突风险 较低(conda 的依赖解析更严格) 较高(pip 可能安装不兼容版本)

详细解释

1. 包来源不同

  • conda install
  • conda-forgeanaconda 官方仓库安装包。
  • 这些包通常是 预编译的二进制文件.whl.tar.gz),安装更快,适合 Windows 用户(避免编译问题)。
  • 例如:conda install numpy 会从 conda-forge 安装预编译的 NumPy。

  • pip install

  • 从 PyPI(Python Package Index)安装包。
  • 这些包通常是 源码包.whl.tar.gz),在 Linux/macOS 上通常直接安装,但在 Windows 上可能需要额外工具(如 Microsoft C++ Build Tools)。
  • 例如:pip install numpy 会从 PyPI 安装 NumPy(可能是源码或预编译版本)。

2. 依赖管理不同

  • conda install
  • 使用 conda 自己的依赖解析器,会检查所有已安装包的依赖关系,避免冲突。
  • 例如:如果你已经安装了 numpy=1.21conda 会确保新安装的 pandas 兼容 numpy=1.21

  • pip install

  • 使用 pip 的依赖解析器,可能安装不兼容的版本(尤其是当 conda 已经安装了某些包时)。
  • 例如:如果 conda 安装了 numpy=1.21,但 pip 安装的 pandas 需要 numpy=1.22,可能会导致运行时错误。

3. 适用包类型不同

  • conda install
  • 可以安装 Python 包 + 非 Python 依赖(如 libblasgcc)。
  • 例如:conda install scipy 会同时安装 scipy 和它依赖的 libblas

  • pip install

  • 仅安装 Python 包,不管理非 Python 依赖。
  • 例如:pip install scipy 只会安装 scipy,但不会安装 libblas(如果缺少,可能会报错)。

一、Conda 的实用技巧

conda 下载与安装

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh

1. 配置国内镜像源(加速下载)

  • 清华镜像源(推荐): conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ conda config --set show_channel_urls yes

  • 中科大镜像源conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/

  • 验证镜像源conda config --show channels
  • 恢复默认源conda config --remove-key channels

2. 创建独立环境(避免依赖冲突)

conda create -n my_env python=3.8 # 指定Python版本 conda activate my_env # 激活环境 conda deactivate # 退出环境 - 导出/导入环境(方便迁移): conda env export > environment.yml # 导出当前环境配置 conda env create -f environment.yml # 从文件创建环境

3. 清理缓存(释放磁盘空间)

conda clean --all # 清理所有缓存(包、索引、临时文件)

4. 解决 Conda 安装慢的问题

  • 使用 mamba 替代 conda(更快的依赖解析器): conda install -n base -c conda-forge mamba mamba create -n my_env python=3.8 # 比 conda 更快

5. Conda 与 pip 混合使用

  • 在 Conda 环境中优先用 conda install,再补 pip install(避免依赖冲突)。
  • 注意:不要在 Conda 环境中直接 pip install 后又用 conda install 覆盖,可能导致环境混乱。

二、pip 的实用技巧

1. 配置国内镜像源(加速下载)

  • 临时使用pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 永久配置(修改 pip.confpip.ini):
    • Linux/macOS~/.pip/pip.conf
    • Windows%APPDATA%\pip\pip.ini ini [global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple trusted-host = pypi.tuna.tsinghua.edu.cn
  • 其他镜像源
    • 阿里云:https://mirrors.aliyun.com/pypi/simple/
    • 豆瓣:https://pypi.doubanio.com/simple/

2. 离线安装包

  • 下载包及其依赖: pip download numpy -d ./packages # 下载到指定目录
  • 离线安装: pip install --no-index --find-links=./packages numpy

3. 虚拟环境管理

  • 使用 venv(Python 内置)或 virtualenvpython -m venv my_env # 创建虚拟环境 source my_env/bin/activate # 激活(Linux/macOS) my_env\Scripts\activate # 激活(Windows)
  • 推荐工具pipenvpoetry(更高级的依赖管理)。

4. 解决 pip 安装慢的问题

  • 使用 --index-url--extra-index-url 指定镜像源。
  • 多源加速(如清华+阿里云): pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple -i https://mirrors.aliyun.com/pypi/simple/

5. 升级 pip 自身

python -m pip install --upgrade pip

6. 查看已安装包的依赖关系

pip show <package_name> # 查看包信息 pip list --format=freeze # 列出所有包及版本


三、Conda 与 pip 的协作技巧

  1. 优先使用 Conda
    Conda 的包管理更全面(尤其是科学计算库如 NumPy、SciPy),且能处理非 Python 依赖(如 C 库)。
  2. 必要时用 pip
    如果 Conda 没有某个包(如某些 Web 框架),再用 pip install
  3. 避免混用冲突
  4. 不要在 Conda 环境中直接 pip install 后又用 conda install 覆盖同一包。
  5. 推荐先 conda install,再 pip install 补充缺失的包。

四、其他实用技巧

  1. 查看环境中的包
  2. Conda:conda list
  3. pip:pip list
  4. 卸载包
  5. Conda:conda remove <package_name>
  6. pip:pip uninstall <package_name>
  7. 检查环境冲突
  8. 使用 conda listpip list 对比不同环境的包版本。
  9. 备份环境
  10. 导出 environment.ymlrequirements.txt(pip)。

五、常见问题解决

  1. Conda 安装失败
  2. 检查镜像源是否配置正确。
  3. 尝试 conda clean --all 后重试。
  4. pip 安装失败
  5. 检查网络或镜像源是否可用。
  6. 尝试 --verbose 查看详细错误信息。
  7. 环境混乱
  8. 新建干净环境,重新安装依赖。

总结

  • 国内用户必做:配置 Conda/pip 的国内镜像源。
  • 环境管理:优先用 Conda 创建独立环境,必要时用 pip 补充。
  • 效率工具mamba 替代 condavenvpipenv 管理虚拟环境。
  • 协作规范:导出环境配置文件(environment.ymlrequirements.txt)便于复现。

Typora 安装 激活