Do naszej aplikacji muszę używać Pythona i Django . Mam więc dwie wersje Python, 2.6 i 2.7. Teraz zainstalowałem Django. Mogłem pomyślnie uruchomić przykładową aplikację do testowania Django. Ale w jaki sposób mam się upewnić, czy Django używa wersji 2.6 lub 2.7 i jakiej wersji modułów używa Django?
547
python3 -m django --version
Odpowiedzi:
Django 1.5 obsługuje Python 2.6.5 i nowsze wersje.
Jeśli jesteś pod Linuksem i chcesz sprawdzić wersję Pythona, której używasz, uruchom
python -V
z wiersza poleceń.Jeśli chcesz sprawdzić wersję Django, otwórz konsolę Python i wpisz
źródło
Zasadniczo to samo, co odpowiedź bcoughlana , ale tutaj jest to polecenie wykonywalne:
źródło
python -c "import django; print(django.VERSION)"
powraca(1, 8, 5, 'final', 0)
python -c "import django; print(django.__version__)"
zamiast tego zrobić . Zwraca również'2.2.4'
(jest to tylko wywołanieget_version()
) i jest standardem obowiązującym większość innych bibliotek, ponieważ jest zdefiniowany w PEP 8 . Działa od Django 1.8Jeśli masz zainstalowaną aplikację:
źródło
>> django.VERSION
w pythonowej powłoce wyświetla właściwą wersjęPrzejdź do katalogu domowego projektu Django i wykonaj:
źródło
Korzystam z IDLE (Python GUI).
źródło
Jeśli masz pip , możesz także zrobić
i wyświetli wszystkie wersje składowe, w tym Django.Możesz przerzucić go przez grep, aby uzyskać tylko wersję Django. To jest,
źródło
W przypadku Python :
W przypadku Django (jak wspomnieli inni tutaj):
Potencjalnym problemem związanym z prostym sprawdzaniem wersji jest to, że wersje są aktualizowane, więc kod może być nieaktualny. Chcesz się upewnić, że „1.7” <„1.7.1” <„1.7.5” <„1.7.10”. Normalne porównanie ciągów nie powiedzie się w ostatnim porównaniu:
Rozwiązaniem jest użycie StrictVersion z destutils .
źródło
django.VERSION
, które już jest krotką? Jestem pewien, że robieniedjango.VERSION >= (1, 8)
tego zawsze będzie działać zgodnie z przeznaczeniem.Jak mówisz, masz dwie wersje Pythona, zakładam, że znajdują się one w różnych środowiskach wirtualnych (np. Venv) lub może środowiskach conda .
Kiedy zainstalowałeś django, prawdopodobnie było to tylko w jednym środowisku. Możliwe, że masz dwie różne wersje django, po jednej dla każdej wersji Pythona.
W terminalu Unix / Mac możesz sprawdzić swoją wersję Pythona w następujący sposób:
Jeśli chcesz poznać źródło:
Aby sprawdzić wersję django:
źródło
Istnieją różne sposoby uzyskania wersji Django. Możesz użyć dowolnej z poniższych opcji zgodnie z własnymi wymaganiami.
Uwaga: Jeśli pracujesz w środowisku wirtualnym, załaduj środowisko Pythona
Polecenia terminalowe
python -m django --version
django-admin --version
lubdjango-admin.py version
./manage.py --version
lubpython manage.py --version
pip freeze | grep Django
python -c "import django; print(django.get_version())"
python manage.py runserver --version
Polecenia powłoki Django
import django django.get_version()
LUBdjango.VERSION
from django.utils import version version.get_version()
LUBversion.get_complete_version()
import pkg_resources pkg_resources.get_distribution('django').version
(Możesz zmodyfikować tę odpowiedź, jeśli masz jakąś korektę lub chcesz dodać więcej powiązanych informacji.)
źródło
Aby sprawdzić za pomocą powłoki Python, wykonaj następujące czynności.
Jeśli chcesz to zrobić w powłoce Unix / Linux za pomocą jednej linii, zrób to
Po opracowaniu aplikacji możesz bezpośrednio sprawdzić jej wersję, wykonując następujące czynności.
źródło
źródło
python manage.py --version
Uwaga podwójne-
Django użyje wersji Pythona określonej przez zmienną środowiskową PYTHONPATH. Możesz użyć
echo $PYTHONPATH
w powłoce, aby określić, która wersja będzie używana.Wersje modułów używane przez Django będą wersjami modułów zainstalowanymi w wersji Pythona określonej przez PYTHONPATH.
źródło
biegać
pip list
na LINUX TERMINAL i znajdź Django i jego wersję na liścieuruchom
pip freeze
na cmd w systemie Windowsźródło
Możesz to zrobić również bez Pythona. Po prostu wpisz to w swoim katalogu Django:
I dostaniesz coś takiego:
źródło
pip freeze
/python -c "import <module>; <module>.VERSION"
. Można po prostu odwołać go:/path/to/env/bin/python -c "<command>"
czy chcesz zainstalować / używać PIP samo:/path/to/env/bin/pip freeze
. Używam tego cały czas, szczególnie gdy jestem zalogowany jako root, a cały mój kod aplikacji działa tak jakwww-data
ja:sudo su www-data -c "/path/to/env/bin/pip install <module>"
i nawet nie mrugam. (wiem, że to prawie 2 lata później i zapewne wiesz o tym teraz - to więcej dla następnego faceta)W Django znajduje się nieudokumentowany moduł wersji Utils
https://github.com/django/django/blob/master/django/utils/version.py
Dzięki temu możesz uzyskać normalną wersję jako ciąg lub szczegółową krotkę wersji:
źródło
Wersja Django lub dowolna inna wersja pakietu
otwórz terminal lub wiersz poleceń
rodzaj
lub
możesz znaleźć dowolną wersję pakietu ...
przykład
itp....
źródło
pip freeze
pokazuje mnóstwo dodatkowego badziewia, jeśli wpakowałeś się w kilka paczek.Wpisz swój CMD lub terminal:
źródło
Myślałem, że najbardziej pythonicznym sposobem było:
To wiąże się bezpośrednio z setup.py: https://github.com/django/django/blob/master/setup.py#L37
To zdecydowanie najlepszy sposób na uzyskanie numeru wersji DOWOLNEGO pakietu!
Także jest
distutils
Jeśli chodzi o
python
wersję, zgadzam się z @jamesdradburyWiązanie wszystkiego razem:
źródło
Jeśli chcesz dokonać porównania wersji Django, możesz użyć
django-nine
(instalacja pip django-nine). Na przykład, jeśli wersja Django zainstalowana w twoim środowisku to 1.7.4, wówczas spełnione są następujące warunki.źródło
Wpisz następujące polecenie w powłoce Pythona
źródło
Po wersji django 1.0 możesz to zrobić
źródło
Możesz uzyskać wersję django, uruchamiając następujące polecenie w wierszu poleceń powłoki
python -m django --version
Jeśli Django jest zainstalowany, powinieneś zobaczyć wersję, w przeciwnym razie pojawi się komunikat „Brak modułu o nazwie django”.
źródło
możesz zaimportować django, a następnie wpisać instrukcję print jak podano poniżej, aby poznać wersję django, tj. zainstalowaną w twoim systemie:
źródło
Wersja Python obsługiwana przez wersję Django
Aby sprawdzić, czy Django może być widziany przez Python, wpisz python ze swojej powłoki. Następnie po pytaniu w Pythonie spróbuj zaimportować Django:
źródło
Po prostu wpisz
python -m django --version
lub wpisz,pip freeze
aby zobaczyć wszystkie wersje zainstalowanych modułów, w tym Django.źródło