Python项目生成requirements

系统 1691 0

详细版本见个人博客:Python项目生成requirements


一起开发项目的时候总是要搭建环境和部署环境的,这个时候必须得有个Python第三方包的list,一般都叫做 requirements.txt 。本文介绍了两种生成 requirements.txt 的方法。

一、使用pip freeze

            
              pip freeze 
              
                >
              
               requirements.txt

            
          

这种方式配合 virtualenv 才好使,否则把整个环境中的包都列出来了。

下面是在 虚拟环境 中生成的 requirements.txt 文件内容:

            
              
                cat
              
               requirements.txt

            
          
            
              certifi==2019.3.9
chardet==3.0.4
fake-useragent==0.1.11
idna==2.7
lxml==4.2.5
numpy==1.16.3
pandas==0.22.0
python-dateutil==2.8.0
pytz==2019.1
requests==2.20.0
six==1.12.0
urllib3==1.24.3

            
          

二、使用 pipreqs

这个工具通过对项目目录的扫描,自动发现使用了那些类库,自动生成依赖清单。此工具是基于 imports ,即你的项目引入了哪个包,此工具才会把引入的包写到 requirements.txt 中,要比 pip freeze 干净。这个工具的缺点是可能会有些偏差,需要检查并自己调整下。

            
              pipreqs ./

            
          

有可能会报如下错误:

            
              Traceback (most recent call last):
  File "c:\program files\python36\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\program files\python36\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Program Files\Python36\Scripts\pipreqs.exe\__main__.py", line 9, in 
              
                
  File "c:\program files\python36\lib\site-packages\pipreqs\pipreqs.py", line 396, in main
    init(args)
  File "c:\program files\python36\lib\site-packages\pipreqs\pipreqs.py", line 341, in init
    extra_ignore_dirs=extra_ignore_dirs)
  File "c:\program files\python36\lib\site-packages\pipreqs\pipreqs.py", line 75, in get_all_imports
    contents = f.read()
UnicodeDecodeError: 'gbk' codec can't decode byte 0xaf in position 12: illegal multibyte sequence

              
            
          

这是由于编码问题所导致的,加上 encoding 参数即可,如下:

            
              pipreqs ./ --encoding
              
                =
              
              utf-8

            
          

下面我看下生成的 requirements.txt 文件内容:

            
              
                cat
              
               requirements.txt

            
          
            
              requests==2.20.0
fake_useragent==0.1.11
lxml==4.2.5
pandas==0.22.0

            
          

详细版本见个人博客:Python项目生成requirements


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论