2016-08-29 11 views
18

के लिए आयात त्रुटि बढ़ाता है मैं पाइथन 3.6 का उपयोग करके मूल फ्लास्क ऐप चलाने की कोशिश कर रहा हूं। हालांकि, मुझे ImportError: cannot import name 'ForkingMixIn' मिलता है। पाइथन 2.7 या 3.5 के साथ चलते समय मुझे यह त्रुटि नहीं मिलती है। मैं पाइथन 3.6 के साथ फ्लास्क कैसे चला सकता हूं?पाइथन 3.6 में फ्लास्क देव सर्वर चलाना सॉकेटसेवर और फोर्किंगमिक्स इन

from flask import Flask 

app = Flask(__name__) 

@app.route("/") 
def hello(): 
    return "Hello, World!" 
Traceback (most recent call last): 
    File "C:\Python36\lib\site-packages\werkzeug\serving.py", line 65, in <module> 
    from SocketServer import ThreadingMixIn, ForkingMixIn 
ImportError: No module named 'SocketServer' 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File ".\fsk.py", line 9, in <module> 
    app.run() 
    File "C:\Python36\lib\site-packages\flask\app.py", line 828, in run 
    from werkzeug.serving import run_simple 
    File "C:\Python36\lib\site-packages\werkzeug\serving.py", line 68, in <module> 
    from socketserver import ThreadingMixIn, ForkingMixIn 
ImportError: cannot import name 'ForkingMixIn' 

उत्तर

28

यह WERKZEUG 0.11.15 के रूप में तय हो गई है। सुनिश्चित करें कि आपने वर्कज़ुग का नवीनतम संस्करण स्थापित किया है। pip install -U werkzeug


यह एक ज्ञात मुद्दा है कि अजगर 3.6 की प्रत्याशा में reported to Werkzeug था। जब तक कि या कोई अन्य पैच विलय और रिलीज़ नहीं हो जाता है, तब तक वर्कज़ुग का देव सर्वर पायथन 3.6 पर नहीं चलेगा।

जांच करें कि ओएस अजगर 3.6 के बाद से ForkingMixIn का आयात नहीं रह परिभाषित करेगा कि जब यह ऑपरेटिंग सिस्टम (python/[email protected]) और ImportError: cannot import name 'ForkingMixIn' पर उपलब्ध नहीं है हो जाएगा से पहले कांटा कर सकते हैं।

इस बीच, आप अपने ऐप को बाहरी डब्लूएसजीआई सर्वर जैसे गनिकॉर्न के साथ चला सकते हैं।

pip install gunicorn 
gunicorn my_app:app 

आप इन-पेज डिबगर (जब तक आप केवल एक कार्यकर्ता के साथ Gunicorn चलाने के रूप में) की जरूरत है आप debug middleware में अपने ऐप लपेट कर सकते हैं।

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