代码之家  ›  专栏  ›  技术社区  ›  pistacchio

在已安装目录中包含静态文件

  •  0
  • pistacchio  · 技术社区  · 6 年前

    我有以下目录结构:

    /mypackage
        __init__.py
        setup.py
        code.py
        MANIFEST.in
        /static
            app.js
    

    在里面 setup.py 我试过两种方法的任何组合 MANIFEST.in , data_files , package_data , include_package_data=True .

    我可以使设置包括 static/app.js .tar.gz 通过运行 python setup.py sdist ,但我无论如何都无法 pip install 在安装的目录中实际分发静态文件。

    我只想将源代码结构复制到安装的目录中。

    我能做的就是设置一个 static 目录进入 将静态文件视为另一个包。简而言之,我想把下面的结构引入 site_packages

    /site_packages
        /mypackage
            __init__.py
            code.py
            /static
                app.js
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   phd    6 年前

    您的developemt目录结构错误。它必须与安装的软件包相同:

    /mypackage
        setup.py
        MANIFEST.in
        /mypackage
            __init__.py
            code.py
            /static
                app.js
    

    setup.py :

    setup (
        packages = ['mypackage'],
        package_data = {
            'mypackage': ['static/app.js']
        },
        ...
    )
    

    现在生成分发: python.setup.py sdist bdist_wheel