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

时间:2019-02-04 08:53:32

标签: python python-3.x setuptools

我具有以下目录结构:

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:2)

您的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