जैंगो लेबलों वाले संदेश दिखाए जा रहे हैं. सभी संदेश दिखाएं
जैंगो लेबलों वाले संदेश दिखाए जा रहे हैं. सभी संदेश दिखाएं

11.1.13

गोडैडी पर पाइथन जैंगो, फ़ास्टसीजीआई के साथ

अन्यत्र सेब पर पाइथन जैंगो चढ़ाने के बारे में लिखा था, उसके मुकाबले गोडैडी की लिनक्स होस्टिंग में पाइथन चढ़ाना थोड़ा सरल है।


आपके पास ssh की सुविधा होनी चाहिए। अपने स्थल पर ssh करें। वहाँ पर आपको कुछ ऐसा दिखेगा -

सबसे पहले देखें कि आपकी cgi चल रही है कि नहीं। उसके लिए ~/cgi/test.cgi बनाएँ -



#!/usr/bin/env python
'''
This is a comment,
If you see this, CGI is not working
'''
print "Content-type: text/html\n\n"
print "Test"



उसके बाद, इसे चला के देखें, http://example.com/cgi/test.cgi के जरिए। example.com के बदले अपना डोमेन दें।

यदि आपको पन्ने पर Test दिखता है तो ठीक है वरना गोडैडी का द्वार खटखटाएँ।

इसके बाद, यह सुनिश्चित करें कि आप हमेशा सबसे ताज़े पाइथन का इस्तेमाल करें। अपने $PATH में देखें कि आपके पास कौन कौन सी पाइथन है, आमतौर पर /usr/bin और /usr/local/bin में आपको ये मिलेंगे।

$ cd /usr/local/bin
$ ls python*
python2.7 python2.7-config
$ cd /usr/bin
$ ls python*
python python2 python2.3 python2.4


हमें python2.7 का इस्तेमाल करना है। इसके लिए,


$ cd
$ mkdir -p bin
$ cd bin
$ ln -s /usr/local/bin/python2.7 python
$ export PATH=~/bin:$PATH
$ python -V
Python 2.7.3
$ mkdir -p ~/lib/python-packages
$ export PYTHONPATH=~/lib/python-packages:$PYTHONPATH


$PATH और $PYTHONPATH को आप अपनी ~/.profile में डाल सकते हैं ताकि हर बार ये न करना पड़े।

अब, किसी भी पाइथन फ़ाइल में आप शुरू में यह दे सकते हैं -


#!/usr/bin/env python


और सही पाइथन का इस्तेमाल होगा।

तो ये हुआ पाइथन। अब आते हैं जैंगो पर। पहले, देखें कि कौना सा जैंगो उतारना है। यह लेख लिखने के समय १.४.३ था। इसे उतारें।


$ cd ~/lib/python-packages
$ wget https://www.djangoproject.com/download/1.4.3/tarball/
$ tar zxvf Django-1.4.3.tar.gz
$ mv Django-1.4.3/django .


फिर, यही काम flup के लिए करें। यह FastCGI के लिए लगेगा।

$ cd ~/lib/python-packages
$ wget http://pypi.python.org/packages/source/f/flup/flup-1.0.2.tar.gz
$ tar zxvf flup-1.0.2.tar.gz
$ mv flup-1.0.2/flup .


अब जाँच लें।

$ python
>>> import django
>>> import flup
>>> 


अपने $PATH में जैंगो की फ़ाइलें भी डालें।

export PATH=~/lib/python-packages/django/bin:$PATH


इसे भी आप अपनी .profile में डाल सकते हैं।

इसके बाद, एक जैंगो परियोजना बनाएँ।


$ cd
$ django-admin.py startproject mysite


mysite के बदले अपनी इच्छानुसार नाम दें।
यह होने के बाद आपको इस प्रकार का ढाँचा मिलेगा -

$ ls -R mysite
mysite:
mysite manage.py

mysite/mysite:
__init__.py settings.py urls.py wsgi.py




इसके बाद, अपनी ~/html में एक dispatch.cgi बनाएँ -


#!/usr/bin/env python

import sys, os
sys.path +=['/absolute/path/to/lib/python-packages']
sys.path +=['/absolute/path/to/mysite']
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

from flup.server.fcgi import WSGIServer
from django.core.handlers.wsgi import WSGIHandler
WSGIServer(WSGIHandler()).run()




mysite के बदले अपना चुना नाम दें।
इसके बाद,

$ chmod +x ~/html/dispatch.cgi
$ ~/html/dispatch.cgi


अगर इससे आपको पर्दे पर कुछ हटमल दिखती है, तो समझिए अब तक सब ठीक है।

अब बचा है आँकड़ाकोष का जमाव और अपाची को ्dispatch.cgi की ओर मोड़ना, वह सब अगली बार।

आभार, दो साल पुराने इस लेख का और जैंगो ट्यूटोरियल का।

27.12.12

सेब पर पाइथन जैंगो और माईएस्क्यूएल

सेब पर पाइथन जैंगो और माईएस्क्यूएल का इस्तेमाल करने के लिए काफ़ी पापड़ बेलने पड़ रहे हैं।

सबसे पहले तो जैंगो स्थापित करना है, पर उसके पहले... खैर एक एक करके ही निपटाते हैं -

१. सबसे पहले तो pip चढ़ाए, इसके लिए


curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py


इससे आपके पास get-pip.py आ जाएगा,

२. फिर,


sudo python get-pip.py


इससे /usr/local/bin में pip और pip-2.7 बन जाएँगे

३. अब करें

sudo pip install Django

यह होने के बाद, जाँचें कि जैंगो आ गया है या नहीं



>>> import django
>>> print django.get_version()
1.4.3
>>> 


उसके बाद, माईएस्क्यूएल का पाइथन जोड़क उतारना होगा। काफ़ी देर धक्के खाने के बाद,

४. मैकपोर्ट्स के बारे में पता चला। ये कुछ कुछ रेडहैट के आरपीएम या डेबियन के एप्ट-गेट जैसा है।

यहाँ से माउंटेन लायन का पीकेजी उतार के स्थापित किया। इससे port स्थापित हुआ, /opt/local/bin/port में।


५. अब py27-mysql उतारा -


sudo port install my27-mysql

यही अभी चल रहा है, इसके निपटने के बाद देखना है कि सब कुछ चलता भी है या नहीं!

६. एक घंटे बाद : नहीं, इससे कुछ नहीं हुआ, फिर इसे आजमाया -


export PATH=$PATH:/opt/local/lib/mysql5/bin
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/
export ARCHFLAGS='-arch i386 -arch x86_64'
sudo easy_install MySQL-python
अब, /Library/Python/2.7/site-packages में MySQL_python-1.2.4c1-py2.7-macosx-10.8-intel.egg मौजूद है।

७. जाँच करें कि MySQLdb है या नहीं -


>>> import MySQLdb
>>> 


अब डाटाबेस से जुड़ के देखना है कि क्या होता है। आज के लिए बहुत हुआ, अब हम होते हैं नौ दो ग्यारह।