5

मेरे पायथन वेब अनुप्रयोग appमैं अपने डब्लूएसजीआई एप्लिकेशन के नाम को एडब्ल्यूएस लोचदार बीनस्टॉक पर कैसे कॉन्फ़िगर कर सकता हूं?

# example.py 
import flask 

app = flask.Flask(__name__.split('.')[0]) 

कहा जाता है और जब मैं एडब्ल्यूएस-ईबी पर इसे लॉन्च करने का प्रयास

# run.py (set correctly with WSGIPath) 
from example import app 

if __name__ == "__main__": 
    app.run() 

का उपयोग कर रहा

मिल

mod_wsgi (पीआईडी ​​= 22473): लक्ष्य WSGI स्क्रिप्ट '/opt/python/current/app/run.py' में डब्लूएसजीआई एप्लिकेशन 'एप्लिकेशन' नहीं है।

मैं एडब्ल्यूएस कैसे कहूं कि मेरे आवेदन उदाहरण को app कहा जाता है?

+0

हां, अच्छा संदर्भ (लेकिन उनमें से कुछ मेरे लिए काम नहीं कर रहे थे; मेरे संबंधित प्रश्न देखें)। – orome

+0

यदि मूल उत्तर आपके लिए काम नहीं करता है, तो आपको यह समझाना चाहिए कि आपने क्या प्रयास किया है और यह आपके प्रश्न में क्यों काम नहीं करता है। इस तरह भविष्य के पाठकों को एक ही समस्या थी जो पूरी तरह उत्तर को समझ पाएंगे। –

उत्तर

10

mod_wsgi application नामक वैरिएबल की अपेक्षा करता है। ऐसा कुछ करने की कोशिश करें

from example import app as application 

नोट: application.run() मत करें। इसकी आवश्यकता नहीं है।

+0

वाह, इसलिए एडब्ल्यूएस द्वारा आवश्यक सभी चीजें 'एप्लिकेशन' नामक एक उदाहरण है; 'run.py' की पूरी सामग्री वह एकल आयात हो सकती है, सही? – orome

+0

असल में, यह कहना सही है कि एडब्ल्यूएस (विपरीत, कहें, हेरोोकू) के लिए कोई * रन * स्क्रिप्ट नहीं है, केवल एक फ़ाइल जिसमें 'एप्लिकेशन' नामक एक उदाहरण परिभाषित किया गया है। – orome

+0

आमतौर पर विकास उद्देश्यों के लिए, एप्लिकेशन के साथ मॉड्यूल में app.run() है, यदि फ़ाइल के नीचे __name__ == '__main__' अनुभाग है। अच्छा अभ्यास है .wsgi फ़ाइल बनाने के लिए जो अनुप्रयोग आयात करता है। –

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