Skip to main content
 首页 » 编程设计

python之打包用于 pip 分发的 Python Web 应用程序

2024年10月01日38qq78292959

我遇到了一个问题,我的 View 目录包含许多子目录和非 python 文件(.html、.css、.ts、.js)。这是给你的图表......

- my_python_web_app 
    - __init__.py 
    - python_app 
        - __init__.py 
        - a.py 
        - few.py 
        - python.py 
        - modules.py 
    - view 
        - index.html 
        - main.css 
        - script.js 
        - web_app 
            - main_app.ts 
            - components 
                - component1 
                    - component1.html 
                    - component1.css 
                    - component1.ts 
                - component2 
                    - component2.html 
                    - component2.css 
                    - component2.ts 

这些文件需要维护其目录结构才能正确提供服务。我研究过使用 MANIFEST.in 并将文档作为数据文件包含在内,但这些似乎都不是真正的解决方案。

我最好的想法是在创建我的分发包之前压缩该目录,然后在 pip install 期间解压缩它...以某种方式。有更好的想法吗?

请您参考如下方法:

我有一个具有类似结构的网络应用程序。您可以在 Github 上找到代码.

以下 MANIFEST.IN 和 setup.py 对我有用:

MANIFEST.IN:

递归包含 omxremote/static *

setup.py:

#!/usr/bin/env python 
 
from setuptools import setup 
 
setup(name='omxremote', 
      ... 
      packages=['omxremote'], 
      include_package_data=True, 
      zip_safe=False, 
      ... 
) 

我使用 ... 来标记实际的 setup.py 包含更多内容,但这在这里不相关。