Python代码在本机调试结束后,需要移植到服务器上或者发布到git,其中的一个问题就是代码涉及到的第三库,很有可能出现第三方库配置的问题,这个时候就需要通过requirements.txt来明确告诉使用者如何配置运行环境,运行环境推荐Anaconda来配置,类似docker镜像,相互虚拟环境不干扰
在Pycharm下面生成requirements.txt,有两种方式:
第一种 适用于 单虚拟环境的情况:
pip freeze > requirements.txt
在这种方式,会将环境中的所有依赖包全都加入,如果使用的全局环境,则下载的所有包都会在里面,不管是不时当前项目依赖的,如下图
当然这种情况并不是我们想要的,当我们使用的是全局环境时,可以使用第二种方法。
第二种 (推荐) 使用 第三方库:pipreqs
,github地址为:https://github.com/bndr/pipreqs
# 安装
pip install pipreqs
# 在当前目录生成
pipreqs . --encoding=utf8 --force
注意
--encoding=utf8
为使用utf8编码,不然可能会报UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 406: illegal multibyte sequence 的错误。
--force
强制执行,当 生成目录下的requirements.txt存在时覆盖。
当当当,可以看见我依赖的只有这些啦
使用requirements.txt安装依赖的方式:
pip install -r requirements.txt