【问题标题】:Include static files in installed directory在安装目录中包含静态文件
【发布时间】:2019-02-04 08:53:32
【问题描述】:

我的目录结构如下:

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

setup.py 中,我尝试了MANIFEST.indata_filespackage_datainclude_package_data=True 的任意组合。

我能够让设置在运行python setup.py sdist 生成的.tar.gz 文件中包含static/app.js,但我无法以任何方式让pip install 实际分发静态文件安装目录。

我想要的基本上就是将源结构复制到安装目录中。

我可以得到的关闭是设置将static 目录添加到 site_packages 的 root 中,就好像静态文件是另一个包一样。简而言之,我想将以下结构放入site_packages

/site_packages
    /mypackage
        __init__.py
        code.py
        /static
            app.js

【问题讨论】:

    标签: python python-3.x setuptools


    【解决方案1】:

    您的开发目录结构错误。必须和安装的包一样:

    /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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多