2010-01-17 8 views
42

मैं न्यूम्पी/सिस्सी/मैटलप्लिब में वैज्ञानिक सॉफ्टवेयर लिखता हूं। मेरे घर कंप्यूटर पर विकसित अनुप्रयोग होने के बाद, अब मैं सरल वेब अनुप्रयोगों को लिखने में रूचि रखता हूं। उदाहरण: उपयोगकर्ता छवि या ऑडियो फ़ाइल अपलोड करता है, मेरा प्रोग्राम इसे Numpy/Scipy का उपयोग करके संसाधित करता है, और आउटपुट Matplotlib का उपयोग कर ब्राउज़र पर प्रदर्शित होता है, या शायद उपयोगकर्ता एक संसाधित फ़ाइल डाउनलोड कर सकता है।पायथन वेब होस्टिंग: न्यूम्पी, मैटलप्लिब, वैज्ञानिक कंप्यूटिंग

मैं पहले से ही होस्टिंग के लिए भुगतान करता हूं जिसमें पाइथन 2.4.3 स्थापित है, लेकिन कोई Numpy/Scipy नहीं है। मेरे पास कमांड लाइन के माध्यम से शेल एक्सेस नहीं है, या तो। बस एफ़टीपी खींचें और छोड़ें। बहुत सीमित है, लेकिन मैं काम कर रहे सरल पायथन/सीजीआई स्क्रिप्ट प्राप्त कर सकते हैं।

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

समाधान के लिए आशा, मैंने सोचा कि मैं भयानक अतः समुदाय के लिए इन सरल सवाल पूछना होगा:

  1. वहाँ पर मेरी पहले से ही numpy स्थापित करने का एक आसान तरीका (या किसी भी तीसरे पक्ष के पैकेज/पुस्तकालय) है मेजबान अंतरिक्ष? मैं अपने होस्टेड स्पेस पर पाइथन पथ जानता हूं, और मुझे अपने घर कंप्यूटर पर प्रासंगिक पायथन/न्यूम्पी निर्देशिका पता है। क्या मैं बस फाइलों की प्रतिलिपि बना सकता हूं और इसे काम कर सकता हूं? स्थानीय और रिमोट सिस्टम दोनों उबंटू चलाते हैं।

  2. क्या होस्टिंग साइट मौजूद हैं (या तो मुफ्त या भुगतान) जिसमें Numpy/Matplotlib स्थापित है या स्थापित नहीं है, इसे स्थापित करने की संभावना है? क्या कोई दस्तावेजी साइटें हैं जिन्हें आप काम कर रहे अनुप्रयोगों के साथ संदर्भित कर सकते हैं, चाहे कितना आसान हो?

  3. क्या Google ऐप इंजन किसी भी तरह से मेरी सहायता कर सकता है? या यह पूरी तरह से किसी और के लिए है? क्या आपने या दूसरों ने इसे पायथन/न्यूम्पी में वैज्ञानिक अनुप्रयोगों को लिखने के लिए उपयोग किया है? यदि हां, तो क्या आप उनका संदर्भ दे सकते हैं?

आपकी मदद के लिए धन्यवाद।

संपादित करें: नीचे दिए गए उपयोगी उत्तरों के बाद, मैंने स्लाइसहोस्ट में $ 20 योजना खरीदी, और मुझे अब तक यह पसंद है! (मैंने पहले अमेज़ॅन ईसी 2 की कोशिश की थी। मुझे बेवकूफ होना चाहिए, लेकिन मैं इसे काम करने के लिए नहीं मिला।) अपाचे के साथ उबंटू सर्वर को स्थापित करने में केवल कुछ घंटे लगे (और मैं अपाचे नौसिखिया हूं)। यह मुझे ठीक से करने की अनुमति देता है जो मैं पाइथन के साथ और अधिक चाहता था। अब भी संस्करण नियंत्रण के लिए मेरा खुद का रिमोट रिपोजिटरी है। एक बार फिर धन्यवाद!

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

ec2:~$ sudo aptitude install build-essential python-scipy ipython 
     python-matplotlib python-dev python-setuptools libsndfile-dev 
     libasound2-dev mysql-server python-mysqldb 

Upload scikits.audiolab-0.11.0 

ec2:~/scikits.audiolab-0.11.0$ sudo python setup.py install 

ec2:~$ sudo rm -rf scikits.audiolab-0.11.0 

ec2:~$ nano .ipython/ipy_user_conf.py 

ip.ex('import matplotlib; matplotlib.use("Agg"); import scipy, pylab, 
     scipy.signal as sig, scipy.linalg as lin, scipy.sparse as spar, 
     os, sys, MySQLdb, boto; from scikits import audiolab') 

import ipy_greedycompleter 

import ipy_autoreload 

उत्तर

16

1: की मेजबानी रिक्त स्थान के लिए तीसरे पक्ष के संकुल स्थापित कर रहा है

आप वास्तव में आपके होस्ट किए गए अंतरिक्ष के लिए तीसरे पक्ष के पैकेज इंस्टॉल कर सकते हैं। यदि यह एक शुद्ध पायथन पैकेज है, तो इसकी आवश्यकता है कि इसे किसी निर्देशिका में अनपैक करें और फिर उस निर्देशिका को अपने PYTHONPATH पर्यावरण चर या sys.path पर जोड़ें।

यह अक्सर करने के लिए थकाऊ हो सकता है, और संकलित मॉड्यूल के लिए आसानी से काम नहीं करेगा। यदि आपके पाइथन होस्ट में शैल पहुंच है, तो उत्कृष्ट virtualenv पैकेज आपको अपने पुस्तकालयों के साथ एक निजी पायथन पर्यावरण स्थापित करने की अनुमति देता है।

अपने virtualenv सेट करने के लिए, आप खोल पर कुछ इस तरह करेंगे:

$ virtualenv $HOME/my_python 
$ $HOME/my_python/bin/easy_install numpy 

आप कुछ और आप अपने व्यक्तिगत अजगर वातावरण में स्थापित करना चाहते हैं के लिए easy_install चलते रहें।

अब, जब आप अपने अजगर स्क्रिप्ट लिखने, आप अपने निजी अजगर दुभाषिया उपयोग करने के लिए, कि यदि संभव हो सकता है चाहता हूँ:

#!/home/myuser/my_python/bin/python 

import numpy 

# script here 

अपने अजगर env निर्दिष्ट नहीं किया जा सकता (जैसे कि अगर mod_wsgi द्वारा संचालित)

import sys 
sys.path.insert(0, '/home/myuser/my_python/lib/python2.5/site-packages') 

import numpy 

2: आपको आयात पथ में जोड़ने के लिए की आवश्यकता होगी numpy साथ होस्टिंग साइटों

मैं नहीं कर सकता किसी भी होस्टिंग साइट्स ऑफहैंड के बारे में सोचें जो पूर्व-स्थापित की पेशकश करता है। हालांकि, Dreamhost/साझाहोस्ट के लिए ब्लूहोस्ट एसएसएच एक्सेस प्रदान करते हैं, और शैल एक्सेस के साथ आप ऊपर वर्णित विधियों का उपयोग करके numpy इंस्टॉल कर सकते हैं। Linode/Slicehost जैसे कोई भी वर्चुअल प्राइवेट सर्वर आपको जो भी चाहें इंस्टॉल करने की अनुमति देगा।

3: AppEngine

ऊपर उल्लेख किया है, AppEngine आप सी एक्सटेंशन (लेकिन शुद्ध अजगर लोगों को काम करने) स्थापित करने के लिए अनुमति नहीं दी जाएगी तो यह, संभावना नहीं numpy वहाँ पर आप के लिए काम करेंगे, क्योंकि मैं से कुछ संदेह इसकी विशेषताएं सी स्पीडअप का उपयोग करती हैं।

+0

उपयोगी सलाह के लिए धन्यवाद। जहां तक ​​मेरा खाता अनुमति देता है, मैं इसे आजमाउंगा। –

+0

sys.path.insert() का उपयोग न करें, इसके बजाय site.addsitedir() का उपयोग करें। उत्तरार्द्ध साइट-पैकेज निर्देशिका में .pth फ़ाइलों का सही ढंग से व्याख्या करता है। साथ ही साथ निपटने के लिए आपको आवश्यक मुद्दों को भी पुन: व्यवस्थित करना है। 'Http://code.google.com/p/modwsgi/wiki/VirtualEn वातावरण' पढ़ें। –

+0

numpy और matplotlib ऐप इंजन w/पायथन पर समर्थित नहीं हैं 2.7 –

12

App इंजन numpy, scipy, या matplotlib में से किसी का समर्थन नहीं करता, अफसोस: Numpy/SciPy/matplotlib/AUDIOLAB में रुचि रखने वालों के लिए, यहाँ जब भी मैं एक EC2 उदाहरण लांच मेरी उबंटू धोखा शीट है।

यदि आप जानते हैं कि आपका होस्ट किस ओएस और सीपीयू का उपयोग कर रहा है, तो आप अपने लिए एक समान स्थापना कर सकते हैं, जो पाइथन का उपयोग कर रहे हैं, उसी संस्करण को डाउनलोड और इंस्टॉल कर सकते हैं, आपको आवश्यक पैकेजों के स्रोत डाउनलोड कर सकते हैं और उन्हें बना सकते हैं प्लेटफार्म के आधार पर .so (या .pyd) फ़ाइलें, और अपलोड करें - वास्तविक टूर डी फोर्स की तरह लगता है।

कई, कई उपलब्ध कराने वाली साइटों सामान्य आभासी होस्टिंग के किसी भी (एक आभासी मशीन, आम तौर पर लिनक्स, मामूली HW संसाधन है, लेकिन आप के लिए रूट विशेषाधिकारों, ssh खोल उपयोग के साथ, और एक gcc आप विशेष रूप से उपयोग कर सकते हैं) अधिक के साथ काम करने में आसान होगा - अनिवार्य रूप से, आप जिस सॉफ़्टवेयर को अपने स्वयं के लिनक्स वर्कस्टेशन पर करना चाहते हैं, उसके बारे में आपको आवश्यक सॉफ्टवेयर डाउनलोड और इंस्टॉल करेंगे!

+0

आभासी होस्टिंग के लिए। मैं स्लाइसहोस्ट का उपयोग कर रहा हूं। अमेज़ॅन ईसी 2 एक और लोकप्रिय विकल्प है। – airportyh

+0

आभासी सर्वर समाधान पर स्विच करने के लिए बस एक और वोट। मुझे एक साझा मेजबान पर एक समाधान डालने के द्वारा जला दिया गया है, केवल होस्टिंग सेवा द्वारा प्रशासनिक नीति में बदलाव से गोली मार दी जानी चाहिए। मैंने किसी भी पाइथन आतिशबाजी को स्थापित करने में बड़ी सफलता के साथ www.maxvps.com पर एक वर्चुअल सर्वर खाता का उपयोग किया है। –

+0

एलेक्स: स्पष्ट उत्तर के लिए धन्यवाद। तो इन सामान्य वर्चुअल होस्टों में से एक के साथ रूट विशेषाधिकार और खोल पहुंच के साथ, मैं घर पर जैसे "apt-get install" के समूह के साथ संकुल स्थापित कर सकता हूं? वह महान होगा। पैसे के हित में, मैं पहले देखूंगा कि क्या मैं काम करने के लिए अपने मौजूदा स्थान को संशोधित कर सकता हूं। –

6

मेरे पास अभी तक टिप्पणी करने के लिए निजीकरण नहीं हैं लेकिन मैं "उत्तर" प्रदान कर सकता हूं।

3: AppEngine

Numpy अब Google अनुप्रयोग इंजन पर उपलब्ध है: https://code.google.com/p/googleappengine/issues/detail?id=190

हालांकि, matplotlib अभी भी इंतज़ार कर रहा है: http://code.google.com/p/googleappengine/issues/detail?id=482 शायद अधिक लोगों को इस समस्या को तारांकित ऐसा कर देगा।

मुझे लगता है कि svgfig नोट करेंगे के रूप में यह शुद्ध अजगर है एक विकल्प है: http://code.google.com/p/svgfig/

अद्यतन:

बाहर कर देता है matplotlib अब उपलब्ध है: https://developers.google.com/appengine/docs/python/tools/libraries27#matplotlib

+0

GAE के लिए हाल ही में (एक सप्ताह पहले) को इंगित करने के लिए धन्यवाद! http://googleappengine.blogspot.in/2012/02/announcing-general-availability-of.html –

7

2 क्या होस्टिंग साइटें मौजूद हैं (या तो मुफ्त या भुगतान) जिसमें Numpy/Matplotlib स्थापित है

PythonAnywhere वेब होस्टिंग और एक साधारण इन-ब्राउज़र आईडीई प्रदान करता है; पाइथन पैकेज के बहुत सारे (NumPy और Matplotlib सहित) pre-installed हैं। एक नि: शुल्क योजना है जिसका उपयोग आप आसपास खेलने के लिए कर सकते हैं, और "प्रीमियम" और "होस्टिंग" खाते अधिक सुविधाओं के साथ क्रमशः $ 5 और $ 10/माह हैं।

पूर्ण प्रकटीकरण: मैं वहां काम करता हूं ...

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

  • कोई संबंधित समस्या नहीं^_^