Python 依赖管理与 Conda 常用命令

整理 requirements.txt 的生成方式、依赖安装与 Conda 环境管理命令。

方法一:pip freeze方法(不推荐)

1、查看包

pip freeze 是一个 Python 命令,用于列出当前虚拟环境(virtual environment)中安装的所有 Python 包及其版本。这个命令在创建项目的依赖清单(requirements.txt)时非常有用,以便在其他环境中重新安装相同的依赖包。

使用 Pycharm 打开工程,在下方中打开Terminal终端,输入pip freeze ,可查看项目所安装的所有第三方库。

pip freeze

2、生成requirements.txt

在终端中输入pip freeze > requirements.txt,可在工程目录下生成requirements.txt文件,其中包含当前虚拟环境中安装的所有 Python 包及其版本。

pip freeze > requirements.txt

方法二:使用第三方库pipreqs(推荐)

使用第三方库pipreqs生成项目的 requirements.txt 文件,pipreqs会分析项目中的 Python 源代码文件,找出所有依赖的包,并将它们及其版本写入 requirements.txt 文件。pipreqs可以只将用到的库生成到requirements.txt文件。

1、先安装pipreqs库

在终端中使用 pip 命令方法安装 :

pip install pipreqs

2、生成requirements.txt

在当前目录使用pipreqs命令:

pipreqs ./ --encoding=utf8  --force

–encoding=utf8 :为使用utf8编码 –force :强制执行,当 生成目录下的requirements.txt存在时覆盖 . /: 在哪个文件生成requirements.txt 文件

在终端中看到,已经成功生成了requirements.txt 文件。

一键安装需要的库

pip install -r requirements.txt

使用 pip freeze 方法的优点是它简单易用,但它会包含虚拟环境中所有已安装的包,而不仅仅是项目所需的包。这可能会导致 requirements.txt 文件中包含不必要的依赖项。

相比之下,pipreqs 是一个更精确的方法,因为它会分析项目中的 Python 源代码文件,找出所有依赖的包,并将它们及其版本写入 requirements.txt 文件。这样,生成的 requirements.txt 文件只包含项目所需的依赖项,更加干净和易于管理。

附加conda常用指令

  1. 查看conda的环境配置

    conda config --show
  2. 创建虚拟环境

    conda create -n env_name python=3.8
  3. 查看有哪些虚拟环境

    conda env list
    conda info -e
    conda info --envs
  4. 激活虚拟环境

    conda activate env_name
  5. 退出虚拟环境

    conda activate
    conda deactivate
  6. 删除虚拟环境

    conda remove --name env_name --all

    如果只删除虚拟环境中的某个或者某些包则是:

    conda remove --name env_name  package_name
  7. 导出环境

    很多的软件依赖特定的环境,我们可以导出环境,这样方便自己在需要时恢复环境,也可以提供给别人用于创建完全相同的环境。

    #获得环境中的所有配置
    conda env export --name myenv > myenv.yml
    #重新还原环境
    conda env create -f  myenv.yml
  8. 将版本变更到指定版本

    conda install python=3.5
  9. 清理anaconda缓存

    conda clean -p      # 删除没有用的包 --packages
    conda clean -t      # 删除tar打包 --tarballs
    conda clean -y -all # 删除所有的安装包及cache(索引缓存、锁定文件、未使用过的包和tar包)