2012-04-23 9 views
5

मैं कई छोटे वैज्ञानिक कार्यक्रमों के लिए लगभग 2 वर्षों से wxPython का उपयोग कर रहा हूं जो मैं कई सहयोगियों को वितरित करता हूं। मुझे wxPython पसंद है और मैं पहले से ही बहुत परिचित हूं लेकिन कुछ चीजें हैं जो मुझे पागल बनाती हैं (WxPython की वजह से नहीं, वास्तव में मैं इसका उपयोग करना जारी रखूंगा):पायथन डेस्कटॉप अनुप्रयोग

1) मेरे पास कई अलग-अलग उपयोगकर्ता हैं ऑपरेशन सिस्टम मुझे पता है कि WxPython क्रॉस प्लेटफॉर्म है लेकिन मेरे पास पहले से ही विभिन्न ऑपरेशन सिस्टम के लिए मेरे सभी छोटे सॉफ़्टवेयर (और अधिक आ जाएगा) पोर्ट करने के लिए पहले से कोई तंत्रिका और समय नहीं है। विशेष रूप से मैं उनमें से कुछ (विंडोज 7, मैक) का उपयोग नहीं कर रहा हूं, इसलिए समस्याओं और उपयोगकर्ता अनुरोधों को हल करना मेरे लिए मुश्किल है।

2) हम अपने सॉफ़्टवेयर के बहुत सारे अपडेट करते हैं (क्योंकि हर समय नए विचार उपयोगकर्ता और खुद से आते हैं) जिसका अर्थ है कि मेरे लिए सभी स्टैंडअलोन उत्पन्न करना, उन्हें अपलोड करना और उपयोगकर्ताओं के लिए फिर से अनइंस्टॉल करना और इंस्टॉल करना है। गंदा ...

मैं पहले से ही वेब फ्रेमवर्क पर स्विच करने के लिए सोच रहा था लेकिन कुछ समस्याएं हैं। सबसे पहले, कई उपयोगकर्ता मेरे सॉफ़्टवेयर के ऑफलाइन का उपयोग करना पसंद करते हैं, उदा। जब वे यात्रा करते हैं या इंटरनेट नहीं है। दूसरा, हमारे पास कुछ डेटाबेस में कुछ डेटा है जो सर्वर पर कभी नहीं जाना चाहिए। यह पेटेंट के बारे में सब कुछ है और हमेशा एक चर्चा होगी, इसलिए मैं अपने कुछ कार्यक्रमों को चीजों को सरल बनाने के लिए एक स्टैंडअलोन डेस्कटॉप एप्लिकेशन करना पसंद करता हूं। अन्य ऑनलाइन हो सकते हैं, कोई समस्या नहीं है।

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

क्या कोई मुझे सुझाव दे सकता है, मेरे उपकरण के लिए एक अच्छा समाधान क्या होगा?

उत्तर

5

आप उदाहरण का उपयोग कर सकते हैं यूआई प्रदान करने के लिए फ्लास्क।

तो बस आपको सामान्य के रूप में सामान्य रूप से लिखें, लेकिन जीयूआई के बिना (आमतौर पर आपको अलग तर्क और जीयूआई चाहिए)। बाद में उदाहरण का प्रयोग करें Flask (मुझे वास्तव में इस माइक्रोफ्रेमवर्क पसंद है, लेकिन वेबसाइट के रूप में यूआई लिखने के लिए Bottle जैसे अन्य भी हैं)। आप इस वेबसाइट को या तो स्थानीय रूप से चला सकते हैं (यह कोड की एक पंक्ति है: app.run() फिर इसे यूआरएल http://localhost:5000) या वेबसर्वर पर वेबसर्वर में खोलें। अपाचे या nginx के साथ।

+0

इस उत्तर के लिए एक अनुपस्थित घटक यहां है: https://www.reddit.com/r/Python/comments/21evjn/is_it_possible_to_deploydistribute_flask_as_an/। यह वेब ऐप –

2

पाइथन के साथ Flex का उपयोग करने के बारे में कैसे? आपका इंटरफ़ेस पोर्टेबल है (चूंकि फ्लेक्स फ़्लैश फाइल बनाता है); और आप इंटरफेस को तार करने के लिए पाइथन का उपयोग कर सकते हैं।

इसके अतिरिक्त आप वेब पर तैनात करने के लिए (फ्लेक्स के साथ देशी निष्पादन योग्य के रूप में उन्हें लपेटने के लिए (अपने ऐप के आधार पर) तय कर सकते हैं।

आपकी एकमात्र चुनौती होगी यदि आप विंडोज के लिए एप्लिकेशन को पैकेज करने का निर्णय लेते हैं, तो यह सुनिश्चित करने के लिए कि पाइथन को सही तरीके से पैकेज करना सुनिश्चित करें (आवश्यक होना चाहिए)।

1

यह आपके उपयोगकर्ताओं द्वारा आपके एप्लिकेशन का उपयोग करने के तरीके के साथ फिट नहीं हो सकता है, लेकिन एक विकल्प लिनक्स वर्चुअल मशीन (वर्चुअलबॉक्स होस्ट के रूप में सबसे आम ऑपरेटिंग सिस्टम का समर्थन करता है) और इसके बदले वितरित करना होगा।

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

+0

वितरित करने के तरीके के बारे में बात करता है यह एक दिलचस्प विचार है और मुझे वर्चुअल मशीन (http://www.dnalinux.com/) का उपयोग करके मेरे टूल्स के समान कुछ भी मिला। जीयूआई कैसे बनाया जाता है? क्या मैं wxPython के साथ लिखे गए अपने पुराने कोड का उपयोग कर सकता हूं? – snowflake

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