Django संस्करण की जांच कैसे करें


547

मुझे हमारे आवेदन के लिए पायथन और Django का उपयोग करना होगा। इसलिए मेरे पास पायथन के दो संस्करण हैं, 2.6 और 2.7। अब मैंने Django स्थापित किया है। मैं Django succesfuly परीक्षण के लिए नमूना आवेदन चला सकता है। लेकिन मैं यह कैसे सुनिश्चित करूं कि क्या Django 2.6 या 2.7 संस्करण का उपयोग करता है और Django किस मॉड्यूल का उपयोग करता है?


49
सबसे छोटा तरीका -python3 -m django --version
अनिकेत ठाकुर

8
मेरी स्थापना में python3 को मान्यता नहीं मिली है। यह काम करता है: अजगर -m django --version
एंटटी ए

जवाबों:


671

Django 1.5 Python 2.6.5 और बाद में सपोर्ट करता है।

यदि आप लिनक्स में हैं और आप जिस पायथन संस्करण का उपयोग कर रहे हैं, python -Vउसे कमांड लाइन से चलाना चाहते हैं ।

यदि आप Django संस्करण की जांच करना चाहते हैं, तो एक पायथन कंसोल खोलें और टाइप करें

>>> import django
>>> django.VERSION
(2, 0, 0, 'final', 0)

संस्करण की जाँच करने से पहले बस env में गोता लगाएँ, अन्यथा django नाम का कोई मॉड्यूल नहीं।
EngineSense

380

मूल रूप से bcoughlan के उत्तर के समान है , लेकिन यहां यह एक निष्पादन योग्य कमांड के रूप में है:

$ python -c "import django; print(django.get_version())"
2.0

ब्रैडी इमर्सन और bcoughlan का संयोजन: python -c "import django; print(django.VERSION)"रिटर्न (1, 8, 5, 'final', 0)
डेविड गाल्बा

आपको python -c "import django; print(django.__version__)"इसके बजाय करना चाहिए । यह भी लौटता है '2.2.4'(यह सिर्फ एक कॉल हैget_version() ) और मानक अन्य पुस्तकालयों के बाद है क्योंकि यह पीईपी 8 में परिभाषित है । यह Django 1.8
बोरिस

213

यदि आपने एप्लिकेशन इंस्टॉल किया है:

$ django-admin.py version
2.0

मई 2018 तक (जिस तारीख को मैंने इस उत्तर को फिर से परीक्षण किया है), यह संस्करण 2.0.1 स्थापित होने के बावजूद 1.11.5 के रूप में दिखाता है। लेकिन >> django.VERSIONअजगर शेल में सही संस्करण प्रदर्शित करता है
एलेक्स जोलीग

1
इसने मेरे लिए काम किया: ubuntu 18.04, virtualenv with P 3.6 और Django 2.2
Carmine Tambascia

1
अच्छा काम महान
Phok Chanrithisak

97

अपने Django परियोजना घर निर्देशिका पर जाएं और करें:

./manage.py --version


41

यदि आपके पास पाइप है , तो आप भी कर सकते हैं

पाइप फ्रीज
और यह Django सहित आपके सभी घटक संस्करण को दिखाएगा।

आप इसे केवल Django संस्करण प्राप्त करने के लिए grep के माध्यम से पाइप कर सकते हैं। अर्थात्,

josh@villaroyale:~/code/djangosite$ pip freeze | grep Django
Django==1.4.3

36

के लिए अजगर :

import sys
sys.version

Django के लिए (जैसा कि यहां दूसरों द्वारा उल्लेख किया गया है):

import django
django.get_version()

बस संस्करण की जाँच करने के साथ संभावित समस्या यह है कि संस्करण उन्नत हो जाते हैं और इसलिए कोड पुराना हो सकता है। आप यह सुनिश्चित करना चाहते हैं कि '1.7' <'1.7.1' <'1.7.5' <'1.7.10'। एक सामान्य स्ट्रिंग तुलना अंतिम तुलना में विफल होगी:

>>> '1.7.5' < '1.7.10'
False

समाधान स्ट्रिक्टवर्सन को डिस्टुटिल्स से उपयोग करना है

>>> from distutils.version import StrictVersion
>>> StrictVersion('1.7.5') < StrictVersion('1.7.10')
True

2
उपयोग के बारे में क्या django.VERSION, जो पहले से ही एक टुपल के रूप में आता है? मुझे पूरा यकीन है कि मैं django.VERSION >= (1, 8)हमेशा की तरह काम करूंगा।
फ्लिक डेम

31

जैसा कि आप कहते हैं कि आपके पास अजगर के दो संस्करण हैं, मुझे लगता है कि वे अलग-अलग आभासी वातावरण (जैसे वेनव) या शायद कोंडा वातावरण में हैं

जब आपने django स्थापित किया, तो यह केवल एक वातावरण में होने की संभावना थी। यह संभव है कि आपके पास django के दो अलग-अलग संस्करण हैं, जो अजगर के प्रत्येक संस्करण के लिए एक है।

एक यूनिक्स / मैक टर्मिनल से, आप अपने अजगर संस्करण की जाँच इस प्रकार कर सकते हैं:

$ python --version

यदि आप स्रोत जानना चाहते हैं:

$ which python

और django के संस्करण की जांच करने के लिए:

$ python -m django --version

18

Django संस्करण प्राप्त करने के विभिन्न तरीके हैं। आप अपनी आवश्यकताओं के अनुसार नीचे दिए गए किसी भी एक का उपयोग कर सकते हैं।

नोट: यदि आप एक आभासी वातावरण में काम कर रहे हैं तो कृपया अपने अजगर पर्यावरण को लोड करें


टर्मिनल कमांड्स

  1. python -m django --version
  2. django-admin --version या django-admin.py version
  3. ./manage.py --version या python manage.py --version
  4. pip freeze | grep Django
  5. python -c "import django; print(django.get_version())"
  6. python manage.py runserver --version

Django शैल कमांड

  1. import django django.get_version() या django.VERSION
  2. from django.utils import version version.get_version() या version.get_complete_version()
  3. import pkg_resources pkg_resources.get_distribution('django').version

(इस उत्तर को संशोधित करने के लिए स्वतंत्र महसूस करें, यदि आपके पास किसी प्रकार का सुधार है या आप अधिक संबंधित जानकारी जोड़ना चाहते हैं।)


10

पायथन शेल का उपयोग करके जांच करने के लिए, निम्नलिखित करें।

>>>from django import get_version
>>> get_version()

यदि आप इसे सिंगल लाइन के साथ यूनिक्स / लिनक्स शेल में करना चाहते हैं, तो करें

python -c 'import django; print(django.get_version())'

एक बार जब आप एक एप्लिकेशन विकसित कर लेते हैं, तो आप निम्न का उपयोग करके सीधे संस्करण की जांच कर सकते हैं।

python manage.py runserver --version


6

Django PYTHONPATH पर्यावरण चर द्वारा निर्दिष्ट पायथन के संस्करण का उपयोग करेगा। आप echo $PYTHONPATHएक शेल में उपयोग कर सकते हैं यह निर्धारित करने के लिए कि किस संस्करण का उपयोग किया जाएगा।

Django द्वारा उपयोग किए जाने वाले मॉड्यूल संस्करण PYTHONPATH द्वारा निर्दिष्ट पायथन के संस्करण के तहत स्थापित मॉड्यूल संस्करण होंगे।


5

pip listLINUX टर्मिनल पर दौड़ें और सूची में Django और इसके संस्करण को ढूंढें

pip freezeविंडोज पर cmd चलाएं


4

आप इसे पायथन के बिना भी कर सकते हैं। इसे अपने Django निर्देशिका में टाइप करें:

cat __init__.py | grep VERSION

और आपको कुछ ऐसा मिलेगा:

VERSION = (1, 5, 5, 'final', 0)

1
यह बहुत अच्छा है जब आप वर्चुअल एनवी को केवल एक मूल्य प्राप्त करने के लिए सक्रिय नहीं करना चाहते हैं, या आप एडब्ल्यूएस इलास्टिक बीनस्टॉक जैसे कुछ का उपयोग कर रहे हैं और वर्चुअल एनवी को सक्रिय नहीं कर सकते हैं।
rjferguson

1
@rjferguson आपको अपने av को a pip freeze/ करने के लिए सक्रिय करने की आवश्यकता नहीं है python -c "import <module>; <module>.VERSION"। आप बस इसे संदर्भित कर सकते हैं: /path/to/env/bin/python -c "<command>"या यदि आप पाइप को स्थापित / उपयोग करना चाहते हैं, तो एक ही बात /path/to/env/bin/pip freeze:। मैं इसे हर समय उपयोग करता हूं, विशेष रूप से जब im एक रूट के रूप में लॉग इन करता हूं और मेरे सभी एप्लिकेशन कोड www-dataमैं के रूप में चलता है: sudo su www-data -c "/path/to/env/bin/pip install <module>"और ब्लिंक भी नहीं। (मुझे पता है कि यह लगभग 2 साल बाद है, और आप शायद अब इसके बारे में जानते हैं - यह अगले आदमी के लिए अधिक है)
जेवियर बूज़ी

> बिना पायथन >> अजगर -c
एलेक्स बाबाक

4

Django में एक अनजाने उपयोगिताओं संस्करण मॉड्यूल है

https://github.com/django/django/blob/master/django/utils/version.py

इसके साथ आप सामान्य संस्करण को स्ट्रिंग या एक विस्तृत संस्करण के रूप में प्राप्त कर सकते हैं:

>>> from django.utils import version
>>> version.get_version()
... 1.9
>>> version.get_complete_version()
... (1, 9, 0, 'final', 0)

4

Django संस्करण या किसी अन्य पैकेज संस्करण

टर्मिनल या कमांड प्रॉम्प्ट खोलें

प्रकार

pip show django

या

pip3 show django

आप किसी भी पैकेज संस्करण ...
उदाहरण पा सकते हैं

pip show tensorflow

pip show numpy 

आदि....


मुझे इस उत्तर की सादगी सबसे अच्छी लगती है। pip freezeयदि आप संकुल के एक समूह में pip'd है, तो अतिरिक्त बकवास का एक टन दिखाता है।
ड्यूकसिल्वर


3

मैंने सोचा था कि सबसे पाइथोनिक तरीका था:

>>> import pkg_resources; 
>>> pkg_resources.get_distribution('django').version
'1.8.4'

यह सीधे setup.py में जोड़ता है: https://github.com/django/django/blob/master/setup.py##37

इसका निश्चित रूप से किसी भी पैकेज का संस्करण संख्या प्राप्त करने का सबसे अच्छा तरीका है!

साथ ही वहां भी distutils

>>> from distutils.version import LooseVersion, StrictVersion
>>> LooseVersion("2.3.1") < LooseVersion("10.1.2")
True
>>> StrictVersion("2.3.1") < StrictVersion("10.1.2")
True
>>> StrictVersion("2.3.1") > StrictVersion("10.1.2")
False

के रूप में pythonसंस्करण, मैं @jamesdradbury से सहमत

>>> import sys
>>> sys.version
'3.4.3 (default, Jul 13 2015, 12:18:23) \n[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)]'

सभी को एक साथ बांधना:

>>> StrictVersion((sys.version.split(' ')[0])) > StrictVersion('2.6')
True

2

यदि आप Django संस्करण की तुलना करना चाहते हैं, तो आप उपयोग कर सकते हैं django-nine(पाइप स्थापित django-नौ)। उदाहरण के लिए, यदि आपके वातावरण में स्थापित Django संस्करण 1.7.4 है, तो निम्नलिखित सत्य होगा।

from nine import versions

versions.DJANGO_1_7 # True
versions.DJANGO_LTE_1_7 # True
versions.DJANGO_GTE_1_7 # True
versions.DJANGO_GTE_1_8 # False
versions.DJANGO_GTE_1_4 # True
versions.DJANGO_LTE_1_6 # False



1

आप एक शेल प्रॉम्प्ट में निम्न कमांड चलाकर django वर्जन प्राप्त कर सकते हैं

अजगर- m django --version

यदि Django स्थापित है, तो आपको संस्करण देखना चाहिए अन्यथा आपको "django नाम का कोई मॉड्यूल" बताने में कोई त्रुटि नहीं होगी।


1

आप django को इंपोर्ट कर सकते हैं और फिर django के वर्जन को जानने के लिए नीचे दिए गए प्रिंट स्टेटमेंट को टाइप करें जैसे कि आपके सिस्टम में इंस्टॉल किया गया है:

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

1

Django संस्करण द्वारा समर्थित पायथन संस्करण

Django version     Python versions
1.0                2.3, 2.4, 2.5, 2.6
1.1                2.3, 2.4, 2.5, 2.6
1.2                2.4, 2.5, 2.6, 2.7
1.3                2.4, 2.5, 2.6, 2.7
1.4                2.5, 2.6, 2.7
1.5                2.6.5, 2.7 and 3.2.3, 3.3 (experimental)
1.6                2.6.5, 2.7 and 3.2.3, 3.3
1.11               2.7, 3.4, 3.5, 3.6, 3.7 (added in 1.11.17)
2.0                3.4, 3.5, 3.6, 3.7
2.1, 2.2           3.5, 3.6, 3.7

यह पुष्टि करने के लिए कि Django को पायथन द्वारा देखा जा सकता है, अपने शेल से अजगर लिखें। फिर पायथन प्रॉम्प्ट में, Django आयात करने का प्रयास करें:

>>> import django
>>> print(django.get_version())
2.1
>>> django.VERSION
(2, 1, 4, 'final', 0)

0

Django सहित स्थापित मॉड्यूल के सभी संस्करणों को देखने के लिए बस टाइप python -m django --version या टाइप pip freezeकरें।


इसका कोई कारण बिल्कुल नहीं है, यह सबसे संक्षिप्त उत्तरों में से एक है।
तपतीना

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