22

ここで説明されているように、再利用可能な Django アプリを作成しています: https://django.readthedocs.org/en/1.5.x/intro/reusable-apps.html

パッケージ名にダッシュを含む setup.py の要件を指定すると、setup.py が実行されません。たとえば、setup.py に次の行が含まれているとします。

requires=[ 'djangotinymce', 'MtFileUtil', 'Django', 'PyYAML', ],

その後、正常に動作します。

python ./setup.py sdist
running sdist
...
Creating tar archive

行を次のように変更すると:

requires=[ 'django-tinymce', 'MtFileUtil', 'Django', 'PyYAML', ],

奇妙なエラーが発生します

Traceback (most recent call last):
  File "./setup.py", line 32, in <module>
    'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
  File "/usr/lib/python2.7/distutils/core.py", line 112, in setup
    _setup_distribution = dist = klass(attrs)
  File "/home/travis/venv/deleteme/local/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg/setuptools/dist.py", line 225, in __init__
    _Distribution.__init__(self,attrs)
  File "/usr/lib/python2.7/distutils/dist.py", line 259, in __init__
    getattr(self.metadata, "set_" + key)(val)
  File "/usr/lib/python2.7/distutils/dist.py", line 1220, in set_requires
    distutils.versionpredicate.VersionPredicate(v)
  File "/usr/lib/python2.7/distutils/versionpredicate.py", line 113, in __init__
    raise ValueError("expected parenthesized list: %r" % paren)
ValueError: expected parenthesized list: '-tinymce'

私はこれをどうするかわかりません。django-tinymce を要求したいのですが、その方法がわかりません。

4

1 に答える 1

26

require引数はdistutilspython パッケージ名からのものであり、期待されます (一部のドキュメントはこちら)。を使用しているため、代わりに PyPI パッケージ名をサポートする引数setuptoolsを使用する必要があります。install_requires

install_requires=['djangotinymce', 'MtFileUtil', 'Django', 'PyYAML'],

依存関係の指定の詳細については、Python Packaging User Guide を参照してください。

于 2013-04-23T18:45:36.240 に答える