美文网首页Web开发——Flask框架
Flask框架——项目可安装化

Flask框架——项目可安装化

作者: 白巧克力LIN | 来源:发表于2022-08-02 00:40 被阅读0次

    在上篇文章中学习了Flask框架——Flask-Sijax,这篇文章我们学习Flask框架——项目可安装化。

    项目可安装化

    项目可安装化是指将一个项目变为发行文件,可以安装到其他环境中。

    简单来说就是把项目变为安装包、软件或者可交互的网页,让不会代码的人也能用。

    项目可安装化的好处:

    • 可以从任何位置导入并使用;
    • 可以使用pip install yourproject.whl来安装项目并安装相关依赖;
    • 测试工具可以分离测试环境和开发环境。

    描述项目

    在进行可安装化之前,需要创建setup.py文件对项目及项目文件进行描述,代码如下所示:

    from setuptools import find_packages, setup
    
    setup(
        name='flaskr',
        version='1.0.0',
        packages=find_packages(),       
        include_package_data=True,
        zip_safe=False,
        install_requires=[
            'flask',
        ],
    )
    

    其中:

    • name:进行项目可安装化形成的安装包名称;
    • version:安装包版本;
    • package:告诉Python 包所包括的文件夹(及其所包含的 Python 文件),使用find_packages()自动找到这些文件;
    • include_package_data:假如项目还有静态文件夹、模板文件夹时,需要设置为True,同时还需要在创建一个名为MANIFEST.in 文件来说明这些文件有哪些;
    • zip_safe:是否可安装化成压缩包;
    • install_requires:安装要求。

    MANIFEST.in文件代码如下所示:

    include flaskr/schema.sql       #包含schema.sql文件
    graft flaskr/static             
    graft flaskr/templates
    global-exclude *.pyc
    

    其中:

    include表示包含所有,graft表示在某文件夹中的文件,global-exclude表示除了什么以外的文件。

    上面MANIFEST.in文件作用是告诉Python复制所有static和templates文件夹中的文件,schema.sql文件,但是排除所有字节文件。

    可安装化项目

    把上一步中的setup.py文件和MANIFEST.in文件写好后,在终端执行可安装化项目命令:

    pip install -e .
    

    该命令作用是在当前目录下(.) 寻找setup.py文件并在编辑或者开发模式下安装。

    编辑模式是指当改变本地代码后,只需要重新项目。

    我们可以使用pip list来查看执行可安装化命令后,项目的虚拟环境情况,如下图所示:



    进行项目可安装化后的项目只是在虚拟环境中安装了flaskr,该flaskr是我们在setup.py文件中设置的项目可安装化后的安装包名。除了这个变化之外,项目几乎没有一点改变,启动项目还是原来未可安装化项目前启动的方式。

    最大的好处是可以在任何地方运行应用,而不仅仅是在本项目目录下。

    好了,关于Flask框架——项目可安装化就讲到这里了,感谢观看,下篇文章继续学习Flask框架——基于类的视图。
    公众号:白巧克力LIN

    该公众号发布Python、数据库、Linux、Flask、自动化测试、Git等相关文章

    相关文章

      网友评论

        本文标题:Flask框架——项目可安装化

        本文链接:https://www.haomeiwen.com/subject/ebedwrtx.html