6

私はこの構造のプロジェクトを持っています:

SomeProject/
    bin/
    CHANGES.txt
    docs/
    LICENSE.txt
    MANIFEST.in
    README.txt
    setup.py
    someproject/
        __init__.py
        location.py
        utils.py
        static/
            javascript/
                somescript.js

そして、次のような「setup.py」:

#!/usr/bin/env python

import someproject
from os.path import exists
try:
    from setuptools import setup, find_packages
except ImportError:
    from distutils.core import setup, find_packages

setup(
    name='django-some-project',
    version=someproject.__version__,
    maintainer='Some maintainer',
    maintainer_email='some@manteiner.com',
    packages=find_packages(),
    include_package_data=True,
    scripts=[],
    url='https://github.com/xxx/some-project',
    license='LICENSE',
    description='Some project description.',
    long_description=open('README.markdown').read() if exists("README.markdown") else "",
    install_requires=[
        "Django >= 1.4.0"
    ],
)

次に、コマンドを使用してアップロードすると、次のようになります。

python setup.py sdist upload

問題ないようですが、パッケージにこの「javascript」サブフォルダーを含む「静的」フォルダーはありません。私の「setup.py」は、同様の構造を持つgithub.com/maraujop/django-crispy-formsに触発されました。このサブフォルダーをアップロードする際の何が問題になっているのかについてのヒントはありますか?

4

2 に答える 2

4

MANIFEST.in次のような行を追加するようにファイルを編集することで、これらのファイルをソースディストリビューションに追加できるはずです。

recursive-include someproject/static *.js

あるいは単に:

include someproject/static/javascript/*.js

これは、ソースディストリビューションに含まれるファイルを取得するのに十分です。使用しているsetuptoolsinclude_package_dataオプションではファイルをインストールするのに十分でない場合は、次のようなものを使用してファイルを明示的にインストールするように依頼できますsetup.py

package_data={'someproject': ['static/javascript/*.js']},
于 2013-03-27T01:28:32.620 に答える
3

以下を使用

packages = ['.','templates','static','docs'],

package_data={'templates':['*'],'static':['*'],'docs':['*'],},
于 2015-02-03T11:57:39.060 に答える