生成requiresments.txt的方法有两种方式:
第一种:
pip freeze > requirement.txt
其中freeze参数是指输出当前环境中安装的依赖包。其中【>】指的是把输出的信息输入到requirement.txt文件里。
特点:
会把当前环境中安装的所有依赖包都输出来,即使有些文件是当前工程没依赖的包。这会造成环境的臃肿。当前环境的所有依赖包为:
第二种:
使用pipreqs模块,使用指令是:
pip install pipreqs
# 在当前目录生成
pipreqs . --encoding=utf8 --force
其中的详细指令使用可以使用help查看:
pipreqs --help
--encoding=utf8
为使用utf8编码,不然可能会报UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 406: illegal multibyte sequence 的错误。
--force
强制执行,当 生成目录下的requirements.txt存在时覆盖。
特点:
其可以按照我们当前工程里的依赖包来生成对应的requirements.txt文件。
运行这个指令的时候一般需要进行翻墙。要么其会停在指令运行处很久,也不出结果。如果正常运行的话,即使再大的项目,其也是一两秒完成的。
如下:
总结:当我们生成requirements.txt的文件后,在另一台电脑上运行则只需要使用下面的指令一键安装:
pip install -r requirements.txt
注意点:
装这些一般放到虚拟环境里,因为不同项目需要的版本可能会不一样,导致项目运行出现问题,就比如pytorch,trace的模型使用不同版本会导致运行的结果又偏差。
如果使用pip安装这个报一些包安装失败,则可以使用conda进行安装。例如pytorch一般会失败,则使用conda安装,指令如下:
conda install pytorch=1.1.0