我们的应用程序必须使用Python和Django。所以我有两个版本的Python, 2.6和2.7。现在我已经安装了Django。我可以成功地运行测试Django的示例应用程序。但是我如何确定Django使用的是2.6还是2.7版本,以及Django使用的模块是什么版本呢?
当前回答
进入Django项目主目录,执行以下操作:
./manage.py --version
其他回答
有多种方法可以获取Django版本。您可以根据自己的需要使用下面给出的任何一种方法。
注意:如果你在虚拟环境中工作,那么请加载你的python环境
终端的命令
Python -m django——version Django-admin——版本或者Django-admin .py版本 ./manage.py——版本或者python manage.py——版本 pip冻结| grep Django import django;打印(django.get_version())” Python manage.py runserver
Django Shell命令
进口django django.get_version()或 django。版本 django。Utils导入版本 或version.get_complete_version() 进口pkg_resources pkg_resources.get_distribution .version(“django”)
(如果你有什么需要纠正的地方,或者你想添加更多相关的信息,请随意修改这个答案。)
我所见过的获取任何包版本的最python化的方法:
>>> 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版本,我同意James Bradbury的观点:
>>> 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
Django将使用PYTHONPATH环境变量指定的Python版本。您可以在shell中使用echo $PYTHONPATH来确定将使用哪个版本。
Django使用的模块版本将是安装在PYTHONPATH指定的Python版本下的模块版本。
没有Python也可以做到。在Django目录中输入:
cat __init__.py | grep VERSION
你会得到这样的结果:
VERSION = (1, 5, 5, 'final', 0)
这很简单,打开CLI(命令行或任何IDE),不管你在哪里安装python和Django,只要输入,
django-admin——版本
我已经在我的系统中安装了最新的Python和Django,结果如图所示。
推荐文章
- 输入对象的datetime。Datetime没有Datetime属性
- numpy数组的Python内存使用情况
- NumPy或Pandas:保持数组类型为整数,同时具有NaN值
- 列表理解条件中的' elif '
- Python的“property”和“attribute”有什么区别?
- 在Python中格式化多行字典的正确方法是什么?
- 向异常添加信息?
- Sphinx autodoc不够自动
- 如何限制Django模型中数值字段的最大值?
- 访问对象内存地址
- 为什么在Python方法中需要显式地有“self”参数?
- 如何升级Windows 10下的Python安装?
- tqdm在Jupyter笔记本重复打印新的进度条
- 如何在for循环中注释类型?
- 如何替换一个Pandas数据框架的字符串列中的文本?