मैं Python 3.x के लिए Django कैसे स्थापित कर सकता हूं?


32

मैंने इस कमांड के साथ Django स्थापित किया:

sudo apt-get install python-django

और यह संस्करण 1.5.4-1ubuntu1 स्थापित किया है। Django डॉक्स का कहना है कि संस्करण 1.5 के रूप में, Django Python 3 का समर्थन करता है। फिर भी जब मैं अजगर 3 दुभाषिया चलाता हूं और Django आयात करने का प्रयास करता हूं, तो यह कहता है कि ऐसा कोई मॉड्यूल नहीं है। मैंने Django के python3 संस्करण की तलाश की, लेकिन ऐसा कोई पैकेज मौजूद नहीं है। मैं python3 पर काम कर रहा django कैसे प्राप्त कर सकता हूं? मैं मैन्युअल रूप से चीजों को स्थापित करने के बजाय ubuntu संकुल का उपयोग करना पसंद करूंगा।


1
की जाँच करें askubuntu.com/questions/666933/... मेरे लिए काम किया ... :)

जवाबों:


38

मैं pip3सिस्टम साइट-पैकेज में चीजों को स्थापित करने से बचने का दृढ़ता से सुझाव दूंगा । मैंने पहले ये तर्क दिए हैं लेकिन मैं आपको नोट्स दूंगा:

  • सिस्टम अपडेट सब कुछ तोड़ देता है
  • उपयुक्त पैकेजों को स्थापित करने से पाइप-स्थापित चीजों को अधिलेखित किया जा सकता है
  • संस्करण संघर्ष
  • वितरण उन्नयन अप्रत्याशित अराजकता है । गंभीरता से। मैंने इन बालों को खो दिया है।

मैं दृढ़ता से उपयोग की वकालत करूंगा virtualenv। जहाँ भी जाना है वहाँ यह एक बड़े पैमाने पर दर्द है, लेकिन एक बार जब आप इसे स्थापित कर लेते हैं तो आपके पास अपने पूर्ण नियंत्रण के तहत एक पूर्ण पायथन वातावरण होता है। इसका मतलब अधिक काम है (आपको अपडेट के लिए चीजों को जांचना होगा और pipवास्तव में अभी तक वहां मदद नहीं करनी है) लेकिन आपको उबंटू के क्या करने की चिंता नहीं है।

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

इसे स्थापित करने के संदर्भ में, और बस मुझे थप्पड़ मारने के virtualenvलिए, अजगर 3 के लिए पैक नहीं किया गया है, इसलिए हमें इसका उपयोग करना होगा pip3:

$ sudo pip3 install virtualenv
...

$ virtualenv-3.3 myenv
Using base prefix '/usr'
New python executable in myenv/bin/python3
Also creating executable in myenv/bin/python
Installing setuptools, pip...done.

$ source myenv/bin/activate  # This is important!

आपके bash PS1 को अब (myenv)आपको एक अलग वातावरण में रहने देना चाहिए । हम चीजों के सही संस्करणों पर जांच करने के लिए पर्यावरण का परीक्षण कर सकते हैं (शुरुआत के लिए सिस्टम संस्करणों का उपयोग नहीं कर रहे हैं):

$ python --version
Python 3.3.2+
$ which python pip 
/home/oli/Desktop/myenv/bin/python
/home/oli/Desktop/myenv/bin/pip

और फिर आप बस को आगे बढ़ा सकते हैं जैसे कि आप ब्रह्मांड के स्वामी थे। आपको pipअब उपयोग करने के लिए रूट की आवश्यकता नहीं है और आपको निर्दिष्ट करने की आवश्यकता नहीं है pip3। यह अभी बहुत अधिक अनुकूल है।

$ pip install django umemcache
...

यदि आप इसे uwsgiहोस्ट करने के लिए कुछ का उपयोग कर रहे हैं (तो आपको चाहिए) इसका -H ध्वज (या होम कॉन्फिगर तर्क) का उपयोग यह बताने के लिए करें कि पायथॉन वातावरण कहाँ रहता है।

विकास को आसान बनाने के लिए, आप अपने virtualenvवातावरण को स्वचालित रूप से "माउंट" कर सकते हैं। वहाँ कई पटकथाएँ हैं, लेकिन यह मेरी है (यह मेरे सबसे नीचे रहता है ~/.bashrc:

export VENVDIR="/web"
export VENVDIR_VENV="$VENVDIR/venv"

venvcd() {
        wd=$(pwd)
        [[ $wd == $VENVDIR/* || $wd == $VENVDIR ]] && wasin=true || unset wasin

        builtin cd "$@"

        wd=$(pwd)
        if [[ $wd == $VENVDIR/* || $wd == $VENVDIR ]]; then
                source $VENVDIR_VENV/bin/activate
        else
                [ $wasin ] && deactivate
        fi
}
alias cd="venvcd"

cd .

जब भी मैं cdमें /web(जहां मेरे सारे विकास वेबसाइटों जमा हो जाती है), यह virtualenv मेरे लिए mounts। ध्यान दें कि मेरे पास मेरी सभी साइटों के लिए केवल एक ही वातावरण है, इसलिए यदि आप कुछ ऐसा ही करते हैं तो यह केवल आपको सूट करेगा। कर रहे हैं समान काम करने के कई अन्य तरीकों से


18

मुझे लगा कि यह कैसे करना है pip। पता चला कि मुझे जरूरत है pip3:

sudo pip3 install Django

चाल चली।

आपको pip3 प्राप्त करने की आवश्यकता हो सकती है:

sudo apt-get install python3-pip

3

Python3 के लिए Django अब हाल ही में जोड़ा गया है। तो बस एक टर्मिनल में टाइप करें:

apt-get install python3-django


1
E: Unable to locate package python3-django
जोनाथन

1
यह Ubuntu 14.04 भरोसेमंद तहर के लिए उपलब्ध नहीं है।
अनवर

1
मैं सिस्टम-रिपोज django का उपयोग करने का सुझाव नहीं देता। यदि कोई अपडेट होगा, तो आपके द्वारा उपयोग की जा रही कुछ फ़ंक्शन अपडेट के बाद काम नहीं कर सकती हैं। वर्चुअल-एनवी दृष्टिकोण का बेहतर उपयोग करें जैसा कि ऊपर दिखाया गया है।
0xAffe

मैं नवीनतम डेबियन (8, अप-टू-डेट), और Django 1.7.11 (जो ईओएल है!) रिपॉजिटरी में उपलब्ध नवीनतम संस्करण हूं। ऐसा लगता है कि उबंटू का एक समर्थित संस्करण है (1.8.7।) मुझे आश्चर्य है कि डेबियन इतने पीछे क्यों है?
हाइड्रैक्सन 14

3

दोस्तों , Ubuntuen / Debian में Python 2.7 / 3.x आभासी वातावरण का प्रबंधन करने के लिए अब तक का सबसे आसान, virtualenvwrapper का उपयोग करने का एक आसान तरीका है ।

$ sudo apt-get install python3 virtualenvwrapper
$ mkvirtualenv <venv> -p python3
$ workon <venv> # sets into the virtualenv from any terminal.

वैकल्पिक रूप --system-site-packagesसे वैश्विक साइट संकुल का पुन: उपयोग करने में सक्षम ।
virtualenv हमें जल्दी से आरंभ करने में मदद करने के लिए पाइप और अन्य अजगर सेटअप टूल स्थापित करता है।

$ pip install Django
$ pip install -r requirements.txt
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.