2011-10-30 14 views
10

मैं अपने जीए ऐप को पायथन 2.7 में माइग्रेट कर रहा हूं। यह मेरा नया app.yaml है:मेरे app.yaml को 2.7 में माइग्रेट कैसे करें?

application: webfaze 
version: main 
runtime: python27 
api_version: 1 
threadsafe: true 

handlers: 
- url: /mapreduce(/.*)? 
    script: mapreduce/main.application 

- url: /(.*\.(html|css|js|gif|jpg|png|ico|swf)) 
    static_files: static/\1 
    upload: static/.* 
    expiration: "1d" 

- url: .* 
    script: main.application 

- url: /task/.* 
    script: main.application 
    login: admin 

लेकिन मैं इस त्रुटि संदेश मिलता है:

Error parsing yaml file: 
Invalid object: 
threadsafe cannot be enabled with CGI handler: mapreduce/main.application 
    in "webfaze/app.yaml", line 22, column 1 

तुम मुझे बताओ कैसे त्रुटि को हल करने कर सकते हैं?

if (handler.script and (handler.script.endswith('.py') or 
     '/' in handler.script)): 
     raise appinfo_errors.ThreadsafeWithCgiHandler(
        'threadsafe cannot be enabled with CGI handler: %s' % 
        handler.script) 

अपनी परियोजना की जड़ में ले जाएँ application.py और उसके अनुसार हैंडलर के पथ को संशोधित:

उत्तर

7

source code जाँच हो रही है, यह है कि आप किसी भी स्लैश के बिना अपने संचालकों 'पथ परिभाषित करने की जरूरत लग रहा है।

+0

धन्यवाद यह सच है कि मैं मैप्रिडस भाग को छोड़ सकता हूं क्योंकि मैं इस समय इसका उपयोग नहीं कर रहा हूं। अब अपडेट सिंटैक्स चेक पास कर दिया है और मुझे यह देखने के लिए उत्सुकता है कि अब क्या हुआ है कि मैंने अभी 'set_default_version' –

+7

चलाया है या इसे' mapreduce.main.application' नाम दिया है। –

+0

पूर्ण समाधान के लिए @ निक जॉनसन धन्यवाद। मैं पूरे ऐप को पायथन 2.7 पर थोड़ा सा प्रयास कर सकता हूं :-) –

7

बदलें:

- url: /mapreduce(/.*)? 
    script: mapreduce/main.application 

करने के लिए:

- url: /mapreduce(/.*)? 
    script: mapreduce.main.application 

तुम भी 'mapreduce' फ़ोल्डर के लिए एक __init__.py जोड़ने के लिए अगर एक अस्तित्व में नहीं है आवश्यकता हो सकती है पहले से ही इससे पाइथन फ़ोल्डर को मॉड्यूल के रूप में समझ देगा।

+0

मैंने नवीनतम संस्करण की कोशिश की और ऐसा लगता है कि यह एप्लिकेशन से एपीपी – wonglik

+0

@ वोंगलिक द्वारा' नवीनतम संस्करण 'में बदल गया है संस्करण होगा कि। मैं एसडीके के v.1.7.0 चला रहा हूं और 'एप्लिकेशन' को 'ऐप' में बदल रहा हूं 500 (सर्वर) त्रुटि फेंकता है। –

+0

क्षमा करें। मेरा मतलब था मैपरेडस बंडल का नवीनतम संस्करण - 1.6.2 यहां से लिया गया https://developers.google.com/appengine/downloads – wonglik

संबंधित मुद्दे