Python第三方package包pip快速备份与恢复

首先要装好 pip

将安装过的第三方库记录到requirements.txt

pip freeze > requirements.txt

requirements .txt 如下

前面时库名,后面是版本

img

恢复的时候只需键入如下命令

sudo pip install -r requirements 加上sudo是因为可能有的时候会因为权限不够出现error

具体requirements.txt可以参见官网信息 http://www.pip-installer.org/en/latest/requirements.html#freezing-requirements

Anaconda 环境中的Python包备份

原生pip备份

freeze命令

pip freeze > ~/mypackages/requirements.txt

requirements.txt文件长这个样子

alabaster==0.7.11
anaconda-client==1.7.2
anaconda-navigator==1.9.2
anaconda-project==0.8.2
appdirs==1.4.3
asn1crypto==0.24.0
astroid==2.0.4
astropy==3.0.4
atomicwrites==1.2.1
attrs==18.2.0
Automat==0.7.0
autopep8==1.4
Babel==2.6.0

内容包括版本信息,似乎没有找到不输出版本号备份包名的方法,安装时似乎也没有忽略版本号的方法,如果想安装相应包的最新版本,可以在安装完成后再升级一遍。

再次安装时只需

pip install -r requirements.txt

上述命令会在将所有安装文件下载完毕后统一安装,因此一旦某个 package 出错就可能导致其他 package 也无法安装。

可以使用以下命令分别安装每个 package

cat requirements.txt | xargs -n1 pip install

也可以在安装软件时保存 cache 方便以后安装

pip install -r requirements.txt -d your_download_dir
pip install -r requirements.txt --no-index --find-links=file://your_download_dir

类似的 pip list 也可以输出所有包,但和 freeze 还是有一定区别的。

pip freeze 和 pip list 的区别

1.一般来说 pip freeze 会比 pip list 的包少几个,因为pip , wheel , setuptools 等包,是自带的而无法(un)install的,考虑到pip freeze的用途,所以这些包并没有显示。

如果一定要显示所有包,可以加上参数-all,即pip freeze -all

2.格式区别

pip freeze 出的格式可以直接作为 requirements.txt 文件使用,而 pip list 输出格式大致如下

Package                            Version    
---------------------------------- -----------
alabaster                          0.7.12     
anaconda-client                    1.7.2      
anaconda-navigator                 1.9.2      
anaconda-project                   0.8.2      
appdirs                            1.4.3      
asn1crypto                         0.24.0     
astroid                            2.0.4      
astropy                            3.0.4

无法直接作为 requirements.txt 文件使用。

pipdeptree 依赖分析工具

使用 pipdeptree 可以分析当前 Python 环境中所有 package 之间的依赖关系

pip install pipdeptree

pipdeptree # 分析依赖关系
pipdeptree --reverse --packages xxx # 某个 package 为何被安装

conda备份

conda list --export > mypackages/package-list.txt # 导出pkg列表

conda create -n myenv --file package-list.txt # 依列表创建新环境

myenv 为环境名,package-list.txt为之前备份的pkg列表

使用--offline选项禁用不必要的下载,而是从root或其他环境中复制可复用的包

注:conda 备份文件用于恢复时,对通过 pip 安装的 package 不太友好

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值