我们的应用程序必须使用Python和Django。所以我有两个版本的Python, 2.6和2.7。现在我已经安装了Django。我可以成功地运行测试Django的示例应用程序。但是我如何确定Django使用的是2.6还是2.7版本,以及Django使用的模块是什么版本呢?


当前回答

还有两个方法可以获取(Django和其他包的)Version。 它们都需要包的版本变量来获取版本。 根据PEP-396,应该为每个Python模块设置__version__变量。


方法1 -从文件系统获取版本

了解了这一点,你就知道如何获取几乎所有Django/Python包的版本了。查看包根目录的__init__.py。 因此,如果您在文件系统中导航速度很快,这可能是获得站点包(虚拟环境)中任何包的版本的一种非常通用的方法。


方法2 - Django调试工具栏

有一个非常有用的工具叫做django调试工具栏。 如果你使用它(非常推荐Django开发),你可以列出所有有package.__version__的应用程序的版本。

其他回答

django-admin --version
python manage.py --version
pip freeze | grep django

如果你已经安装了应用程序:

$ django-admin --version
3.2.6

Python版本由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

要验证Python可以看到Django,输入Python from你的shell。然后在Python提示符下,尝试导入Django:

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

Django 1.5支持Python 2.6.5及更高版本。

如果你在Linux系统下,想要检查你正在使用的Python版本,从命令行运行Python -V。

如果你想查看Django版本,打开Python控制台并输入

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

如果你想进行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