2008-10-16 6 views
5

मैं पाइथन में एक वेब एप्लिकेशन लिख रहा हूं, जिसका उद्देश्य कक्षाओं में शिक्षकों और विद्यार्थियों द्वारा उपयोग के लिए किया गया है। यह एक होस्टेड वेबसाइट से चलेगा, लेकिन मैं यह भी चाहता हूं कि लोग एक स्व-निहित एप्लिकेशन डाउनलोड कर सकें, यदि वे अधिक प्रदर्शन चाहते हैं या वे कक्षा में इंटरनेट कनेक्शन उपलब्ध नहीं हैं तो वे स्थानीय रूप से इंस्टॉल कर सकते हैं।गैर-तकनीकी उपयोगकर्ताओं को स्टैंड-अलोन पायथन वेब-आधारित एप्लिकेशन वितरित करना

उपयोगकर्ता "पहले स्थापित पायथन, फिर निर्भरता स्थापित करें, .tar.gz संग्रह डाउनलोड करें और कमांड लाइन में इन आदेशों को टाइप करें जैसे निर्देशों को प्रबंधित करने में सक्षम नहीं होंगे ..."। मुझे एक ऑल-इन-वन-टाइप इंस्टॉलर बनाने में सक्षम होना चाहिए जो संभावित रूप से पाइथन, निर्भरता (पायथन-एलडीएपी), कुछ पायथन कोड स्थापित कर सकता है और विंडोज सेवा के रूप में एक पायथन आधारित वेब सर्वर पंजीकृत कर सकता है।

मुझे पिछले प्रश्नों के माध्यम से देखा गया है, लेकिन कोई भी काफी प्रासंगिक प्रतीत नहीं होता है। मैं स्रोत कोड की सुरक्षा के बारे में चिंतित नहीं हूं (मेरा आवेदन ओपन सोर्स होगा, मैं इसके साथ जाने के लिए सामग्री बेचूंगा), मुझे बस गैर-तकनीकी विंडोज उपयोगकर्ताओं की आवश्यकता है ताकि वे मेरे आवेदन को डाउनलोड और इस्तेमाल कर सकें ।

मेरे वर्तमान विचारों को इंस्टॉलर बनाने के लिए NSIS का उपयोग करना है जिसमें पाइथन और पायथन-एलडीएपी एमएसआई के रूप में शामिल है, फिर विंडोज़ सेवा के रूप में अपना खुद का सरल पायथन आधारित वेब सर्वर पंजीकृत करता है और स्टार्ट मेनू/शॉर्टकट में शॉर्टकट डालता है http://localhost से लिंक करने वाला डेस्कटॉप। क्या यह एनएसआईएस के साथ काम करने योग्य है - उदाहरण के लिए, पाइथन की वर्तमान में स्थापित प्रतियों के लिए एनएसआईएस जांच सकते हैं? क्या ऐसा करने का एक बेहतर तरीका है - क्या कोई आसान ढांचा उपलब्ध है जो मुझे अपने कोड को फ़ोल्डर में फेंकने और इंस्टॉलर बनाने के लिए इसे बंडल करने देता है?

उत्तर

4

का उपयोग NSIS महान है (मैं भी इसे का उपयोग करें), लेकिन मैं पहले का उपयोग कर NSIS

प्राथमिक लाभ एक exe बनाने के लिए pyinstaller की तरह एक "बंडल" (मेरी निजी fav, विकल्प bb_freeze, py2exe) का उपयोग कर सुझाव है आप ऐसा करके मिलता है; आपका डाउनलोड छोटा है क्योंकि आप पूरे पायथन मानक लिब को बंडल नहीं कर रहे हैं और आपके ऐप की अतिरिक्त सामग्री की आवश्यकता नहीं है और आपको बूट करने के लिए एक exe फ़ाइल मिलती है!

+0

आगे सोचकर, मेरे पास एक साधारण जीयूआई फ्रंट-एंड विंडो होगी जो कि "सर्वर चल रहा है - सरल डेस्कटॉप उपयोग के लिए" बंद करने के लिए यहां क्लिक करें "और अधिक तकनीकी उपयोगकर्ताओं के लिए एक अलग इंस्टॉलर है। पैकेजिंग कि संस्करण शायद एक अच्छा विचार होगा, सुझाव के लिए धन्यवाद। –

0

आप Bitnami Stack for Django को आजमा सकते हैं जिसमें अपाचे, माईएसक्यूएल, पायथन आदि शामिल हैं। यह फ्री/ओपन सोर्स

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