سؤال

أحاول التثبيت مكتبة ملصق كريس أتيلي بيثون حتى أتمكن من تحميل ملف باستخدام استعلام HTTP Post من داخل البرنامج النصي.

على Python 2.3 ، عندما أكتب # python setup.py install, ، أحصل على الخطأ التالية. يستمر التثبيت ، لكن لا يمكنني ذلك >>> import poster لاحقا.

byte-compiling build/bdist.linux-x86_64/egg/poster/encode.py to encode.pyc
  File "build/bdist.linux-x86_64/egg/poster/encode.py", line 112
    @classmethod
    ^
SyntaxError: invalid syntax
byte-compiling build/bdist.linux-x86_64/egg/poster/streaminghttp.py to streaminghttp.pyc
  File "build/bdist.linux-x86_64/egg/poster/streaminghttp.py", line 114
    newheaders = dict((k,v) for k,v in req.headers.items()
                              ^
SyntaxError: invalid syntax
byte-compiling build/bdist.linux-x86_64/egg/poster/__init__.py to __init__.pyc

أي مؤشرات؟

هل كانت مفيدة؟

المحلول

لم يكن لدى Python 2.3 دعمًا للديكور (هذا ما هو classmethod) أو قائمة الشمولية (وهو الخطأ الثاني) ، لذلك عليك إما العثور على إصدار أقدم من الملصق ، أو التمسك بـ urllib/urllib2 القيام بعمل HTTP الخاص بك.

في الواقع ، يبدو أن الملصق تم إنشاؤه في حوالي يوليو 2008 ، لذلك من غير المحتمل أن يكون هناك إصدار يدعم Python 2.3 حتى لو تمكنت من العثور على المصدر الأصلي. أي سبب معين لا يمكنك الترقية إلى أحدث Python 2.x على الأقل؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top