前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >生成python依赖包文件

生成python依赖包文件

原创
作者头像
用户9398785
发布2023-09-25 19:32:29
3500
发布2023-09-25 19:32:29
举报
文章被收录于专栏:云发布

本文首先需要安装python环境,可以自行查阅文档,这里不再说明。

假如,我们有一个名为hello-flask的flask应用,该应用只依赖flask外部包。

有两种方式可以生成该应用的依赖包文件,分别介绍:

方式一

在hello-flask应用的根目录下,执行如下命令:

代码语言:shell
复制
pip freeze > requirements.txt

则会自动生成requirements.txt文件,内容如下:

代码语言:text
复制
alabaster @ file:///home/ktietz/src/ci/alabaster\_1611921544520/work

anaconda-client==1.2.2

anaconda-navigator==2.0.3

anaconda-project @ file:///tmp/build/80754af9/anaconda-project\_1621348054992/work

anyio @ file:///C:/ci/anyio\_1620153418380/work/dist

appdirs==1.4.4

argh==0.26.2

argon2-cffi @ file:///C:/ci/argon2-cffi\_1613037959010/work

asgiref==3.7.2

asn1crypto @ file:///tmp/build/80754af9/asn1crypto\_1596577642040/work

astroid @ file:///C:/ci/astroid\_1613501047216/work

astropy @ file:///C:/ci/astropy\_1617745647203/work

async-generator @ file:///home/ktietz/src/ci/async\_generator\_1611927993394/work

atomicwrites==1.4.0

attrs @ file:///tmp/build/80754af9/attrs\_1620827162558/work

.

.

.

太多了,省略一万行

.

.

.

wcwidth @ file:///tmp/build/80754af9/wcwidth\_1593447189090/work

webencodings==0.5.1

Werkzeug==2.3.7

widgetsnbextension==3.5.1

win-inet-pton @ file:///C:/ci/win\_inet\_pton\_1605306167264/work

win-unicode-console==0.5

wincertstore==0.2

wrapt==1.12.1

xlrd @ file:///tmp/build/80754af9/xlrd\_1608072521494/work

XlsxWriter @ file:///tmp/build/80754af9/xlsxwriter\_1617224712951/work

xlwings==0.23.0

xlwt==1.3.0

xmltodict==0.12.0

yapf @ file:///tmp/build/80754af9/yapf\_1615749224965/work

zict==2.0.0

zipp==3.16.2

zope.event==4.5.0

zope.interface @ file:///C:/ci/zope.interface\_1616357322857/work

卧槽,应用只依赖了flask外部包,竟然生成了这么多依赖,明显有问题吧?通过安装验证,确实有问题,而且根本安装不成功,不要再使用这种方式生成包依赖了。

下面看第二种。

方式二
安装工具
代码语言:shell
复制
pip install pip-tools
创建文件

在应用根目录下创建requirements.in文件,内容如下:

代码语言:text
复制
flask==2.3.1
生成依赖包文件

在应用根目录下执行:

代码语言:shell
复制
pip-compile requirements.in

则requirements.txt文件内容如下:

代码语言:text
复制
#

# This file is autogenerated by pip-compile with Python 3.8

# by the following command:

#

#    pip-compile requirements.in

#

blinker==1.6.2

    # via flask

click==8.1.7

    # via flask

colorama==0.4.6

    # via click

flask==2.3.1

    # via -r requirements.in

importlib-metadata==6.8.0

    # via flask

itsdangerous==2.1.2

    # via flask

jinja2==3.1.2

    # via flask

markupsafe==2.1.3

    # via

    #   jinja2

    #   werkzeug

werkzeug==2.3.7

    # via flask

zipp==3.16.2

    # via importlib-metadata

文件内容很少,而且还有依赖关系,非常清晰。

安装

在应用的根目录下,执行:

代码语言:shell
复制
pip install -r requirements.txt

命令执行完以后,接着就可以运行该应用了。

最后,推荐一个部署应用的平台: https://github.com/512team/dhorse

演示地址:http://dhorse-demo2.512.team

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方式一
  • 方式二
    • 安装工具
      • 创建文件
        • 生成依赖包文件
        • 安装
        相关产品与服务
        容器服务
        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档