我必须使用Python和Django作为我们的应用程序。所以我有两个版本的Python,2.6和2.7。现在我已经安装了Django。我可以运行示例应用程序来测试Django的成功。但是我如何确定Django是否使用2.6或2.7版本以及Django使用的模块版本?
答案 0 :(得分:563)
Django 1.5支持Python 2.6.5及更高版本。
如果您在Linux下并且想要检查您正在使用的Python版本,请从命令行运行python -V
。
如果要检查Django版本,请打开Python控制台并键入
>>> import django
>>> django.VERSION
(2, 0, 0, 'final', 0)
答案 1 :(得分:346)
基本上与bcoughlan's answer相同,但这里它是一个可执行命令:
$ python -c "import django; print(django.get_version())"
2.0
答案 2 :(得分:184)
如果您已安装该应用程序:
$ django-admin.py version
2.0
答案 3 :(得分:81)
转到Django项目主目录并执行:
./manage.py --version
答案 4 :(得分:49)
>>> import django
>>> print(django.get_version())
1.6.1
我正在使用IDLE(Python GUI)。
答案 5 :(得分:34)
如果您有pip,还可以执行
pip freeze它会显示你的Django版本。
你可以通过grep管道来获得Django版本。也就是说,
josh@villaroyale:~/code/djangosite$ pip freeze | grep Django
Django==1.4.3
答案 6 :(得分:33)
import sys
sys.version
对于Django(正如其他人所说):
import django
django.get_version()
简单地检查版本的潜在问题是版本升级了,因此代码可能会过时。你想确保' 1.7' < ' 1.7.1' < ' 1.7.5' < ' 1.7.10&#39 ;.在上一次比较中,正常的字符串比较会失败:
>>> '1.7.5' < '1.7.10'
False
解决方案是使用StrictVersion from distutils。
>>> from distutils.version import StrictVersion
>>> StrictVersion('1.7.5') < StrictVersion('1.7.10')
True
答案 7 :(得分:33)
在命令提示符处键入以下内容:
django-admin.py version
如果安装了django,它将打印当前版本(例如1.6.5
),
否则shell将打印错误消息。
答案 8 :(得分:26)
正如你所说,你有两个版本的python,我认为它们位于不同的virtual environments(例如venv)或conda environments。
安装django时,可能只在一个环境中安装。您可能有两个不同版本的django,每个版本的python都有一个版本。
在Unix / Mac终端中,您可以按如下方式检查您的python版本:
$ python --version
如果您想了解来源:
$ which python
并检查django的版本:
$ python -m django --version
答案 9 :(得分:12)
有多种方法可以获得Django版本。您可以根据您的要求使用下面给出的任何一种。
注意: 如果您在虚拟环境中工作,请加载您的python环境
python -m django --version
django-admin --version
或django-admin.py version
./manage.py --version
或python manage.py --version
pip freeze | grep Django
python -c "import django; print(django.get_version())"
python manage.py runserver --version
import django
django.get_version()
或
django.VERSION
from django.utils import version
version.get_version()
或version.get_complete_version()
import pkg_resources
pkg_resources.get_distribution('django').version
(如果您有某种更正或想要添加更多相关信息,请随意修改此答案。)
答案 10 :(得分:9)
django-admin --version
python manage.py --version
pip freeze | grep django
答案 11 :(得分:8)
要使用Python shell进行检查,请执行以下操作。
>>>from django import get_version
>>> get_version()
如果您希望在Unix / Linux shell中使用单行执行此操作,请执行
python -c 'import django; print(django.get_version())'
开发完应用程序后,您可以使用以下内容直接检查版本。
python manage.py runserver --version
答案 12 :(得分:8)
转到控制台并输入:
django-admin --version
<强>更新强>
最近我注意到正确的方法是去python shell并检查那里的版本:
$ python
>> import django
>> django.VERSION
答案 13 :(得分:5)
Django将使用PYTHONPATH环境变量指定的Python版本。您可以在shell中使用echo $PYTHONPATH
来确定将使用哪个版本。
Django使用的模块版本将是在PYTHONPATH指定的Python版本下安装的模块版本。
答案 14 :(得分:5)
输入您的CMD或终端:
python -m django --version
答案 15 :(得分:5)
在LINUX TERMINAL上运行pip list
并在列表中找到Django及其版本
在Windows上的cmd上运行pip freeze
答案 16 :(得分:4)
django
中有一个未记录的utils版本模块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)
答案 17 :(得分:4)
你也可以不用Python来做。只需在Django目录中输入:
cat __init__.py | grep VERSION
你会得到类似的东西:
VERSION = (1, 5, 5, 'final', 0)
答案 18 :(得分:3)
我认为最诡异的方式是:
>>> import pkg_resources;
>>> pkg_resources.get_distribution('django').version
'1.8.4'
这与setup.py:https://github.com/django/django/blob/master/setup.py#L37
直接相关这绝对是获取任何套餐版本号的最佳方式!
还有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
答案 19 :(得分:2)
在Python shell中键入以下命令
import django
django.get_version()
答案 20 :(得分:2)
在django 1.0之后你可以这样做
$ django-admin --version
1.11.10
答案 21 :(得分:2)
如果你想进行Django版本比较,你可以使用django-nine
(pip install django-nine)。例如,如果您的环境中安装的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
答案 22 :(得分:2)
只需键入python -m django --version
或键入pip freeze
即可查看已安装模块的所有版本,包括Django。
答案 23 :(得分:1)
如果您在虚拟环境中工作,只需点击冻结即可告诉您是否可以使用此
django-admin --version
答案 24 :(得分:1)
您可以通过在shell提示符中运行以下命令来获取django版本
python -m django --version
如果安装了Django,您应该会看到该版本,否则您将收到错误消息,告知“没有名为django的模块”。
答案 25 :(得分:0)
您可以导入django,然后按如下所示输入print语句,以了解django的版本,即系统上安装的版本:
>>> import django
>>> print(django.get_version())
2.1
答案 26 :(得分:0)
Django版本支持的Python版本
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
要验证Python是否可以看到Django,请在您的shell中键入python。然后在Python提示符下,尝试导入Django:
>>> import django
>>> print(django.get_version())
2.1
>>> django.VERSION
(2, 1, 4, 'final', 0)
答案 27 :(得分:0)
Django版本或任何其他软件包版本
打开终端或命令提示符
类型
pip show django
或
pip3 show django
您可以找到任何软件包版本...
例子
pip show tensorflow
pip show numpy
等...
答案 28 :(得分:0)
进行Django项目的设置。在那里找到您的Django版本。
答案 29 :(得分:0)
打开您的 CMD 或终端并运行以下任何命令
django-admin --version
or
python3 -m django --version
or
pip freeze
答案 30 :(得分:0)