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常用指令
-
查看conda的环境配置
conda config --show -
创建虚拟环境
conda create -n env_name python=3.8 -
查看有哪些虚拟环境
conda env list conda info -e conda info --envs -
激活虚拟环境
conda activate env_name -
退出虚拟环境
conda activate conda deactivate -
删除虚拟环境
conda remove --name env_name --all如果只删除虚拟环境中的某个或者某些包则是:
conda remove --name env_name package_name -
导出环境
很多的软件依赖特定的环境,我们可以导出环境,这样方便自己在需要时恢复环境,也可以提供给别人用于创建完全相同的环境。
#获得环境中的所有配置 conda env export --name myenv > myenv.yml #重新还原环境 conda env create -f myenv.yml -
将版本变更到指定版本
conda install python=3.5 -
清理anaconda缓存
conda clean -p # 删除没有用的包 --packages conda clean -t # 删除tar打包 --tarballs conda clean -y -all # 删除所有的安装包及cache(索引缓存、锁定文件、未使用过的包和tar包)