Piszę aplikację Django wielokrotnego użytku, jak opisano tutaj: https://django.readthedocs.org/en/1.5.x/intro/reusable-apps.htmlsetup.py: Oczekuje nawiasach lista gdy wymagana nazwa pakietu zawiera kreskę
Kiedy określić wymóg setup.py który zawiera odrobinę w pakiecie nazwa, setup.py nie będzie działać. Na przykład, jeśli mój plik setup.py zawiera tę linię:
requires=[ 'djangotinymce', 'MtFileUtil', 'Django', 'PyYAML', ],
Następnie działa poprawnie.
python ./setup.py sdist
running sdist
...
Creating tar archive
Gdybym zmienić linię aby wyglądać tak:
requires=[ 'django-tinymce', 'MtFileUtil', 'Django', 'PyYAML', ],
Dostajemy dziwny błąd
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'
jestem pewien, co z tym zrobić. Chcę wymagać django-tinymce, ale nie widzę, jak to zrobić.
Aby dodać wyjaśnienie do powyższego komentarza, należy usunąć litery -'s. Python to operatory arytmetyczne. Tj. "Django-tinymce" -> "djangotinymce". – Rebs