How can I show the django version in pycharm? - python

I want to see the django version in my Pycharm terminal, but I don't get the correct method.
I tried bellow methods in pycharm terminal:
1) django --version and django version
2) import django, and print the version by:
import django
print django.VERSION
But I still can not get it.

If you cannot print the Django version from the python console in Pycharm, go to settings>Project:project_name>project Interpreter and from the list of installed packages see the installed Django and it's version for that project.

You can run pip freeze too. Just filtering the results with grep...
pip freeze | grep Django

You're trying to access a version attribute, but you can find out Django's version using the get_version method:
import django
django.get_version()

In the terminal you can use bellow command to check the version of django:
python -m django --version
If you want to use your second method, just like this bellow command:
python -c "import django; print(django.VERSION)"
(1, 11, 2, u'final', 0)

go to setting > project > project Interpreter and install Django package
then run the code
import django
print(django.get_version())

Run pip freeze > requirements.txt
A .txt file with that name will be created automatically, open the file and check for the django version and other previously installed libraries.

I do not know about pychram but the most efficient way to query the django version without importing django globally would be this:
from django import VERSION as DJANGO_VERSION
if DJANGO_VERSION >= (2, 0):
pass
What was not proposed in this question which is something similar:
How to check Django version

I had the same question. The solution is simple.
Just create a project, open settings.py file and observe the first comment lines. You will see the version info in there as displayed below:
Image of settings.py that shows the Django version
I found the solution here.

Simplest is
import django
print(django.get_version())

Using the following command on terminal will give you django version
python -m django --version
Or
You can go to the interactive python prompt and use the command
import django
print(django.get_version())
or using pip freeze and grep you can also get the django version
pip freeze | grep Django

Related

Django 'No module named 'suit.apps' error

I'm trying to customize Django admin site. I ran the command "pip install django-suit", everything installed correctly according to CMD, then I made a new .py file called with apps.py in the main folder(same folder that contains settings.py) and here is the code
from suit.apps import DjangoSuitConfig
class SuitConfig(DjangoSuitConfig):
layout = 'horizontal'
and added 'database.apps.SuitConfig',in the settings.py. When I type the command "python manage.py makemigrations database" or "python manage.py runserver" the CMD gives me this error
Does anyone know what am I missing?
My Django version = 2.0.7
If you installed django-suit using pip install django-suit, you installed v0.2.26, and then this whole installation you're doing is wrong. This is how to install in your Django project: Getting started docs. Note that v0.2.26 does introduce support for Django 2.0 so it should work.
If you want to use the v2 (which is not stable and currently still just a development branch), you should use a different source for pip install:
pip uninstall django-suit
pip install https://github.com/darklow/django-suit/tarball/v2
Then you can do as you mention in your question, by subclassing DjangoSuitConfig and adding the new class to your INSTALLED_APPS.

Django Tutorial

I'm just starting with the Django tutorial. When I try to run python manage.py migrateas they say, I get
Unknown command: 'migrate'
Type 'manage.py help' for usage.
I am in the directory right above manage.py. What am I doing wrong here? Thanks!
You may be using the wrong Django version. You can figure out which version you're running by doing python ./manage.py shell and then inside the shell, type the following:
>>> import django
>>> django.VERSION
If your django version is less than 1.6, check the docs for the version applying to what you are running.
Previous versions of Django did not use the migrate command, unless you installed a third party module called South.

Running django-admin.py startproject is giving me an error

I've just started looking into python and django.. Im pretty sure ive successfull installed both python and the django framework and i managed to add python and django-admin.py to my system path but now when i run the command django-admin.py startproject My_Test_Site, in the folder i want to create a new project directory in (just following the tutorials), i get the following error:
What am i doing wrong?
This is not a Django error. It appears it cannot find the Python module unicodedata which is part of the Python Standard Library (docs). I see that there is also a bug report about this issue (Python 2.7 on Windows, see here). On the other hand, some people there report that reinstalling their Python installation fixed the problem. You could give that a try.
notice the last line, it says import unicodedata, importError
im guessing you probably didnt install your django properly.
so reinstall it and check that django is in your "path", i believe django does this automatically when it installs but doesnt hurt to double check.
if reinstalling django still doesn't work, i suggest you uninstall python and django related stuff.
then install python, install pip, then use pip install django.

How to check Django version

I have to use Python and Django for our application. So I have two versions of Python, 2.6 and 2.7. Now I have installed Django. I could run the sample application for testing Django succesfuly. But how do I make sure whether Django uses the 2.6 or 2.7 version and what version of modules Django uses?
Django 1.5 supports Python 2.6.5 and later.
If you're under Linux and want to check the Python version you're using, run python -V from the command line.
If you want to check the Django version, open a Python console and type
>>> import django
>>> django.VERSION
(2, 0, 0, 'final', 0)
Basically the same as bcoughlan's answer, but here it is as an executable command:
$ python -c "import django; print(django.get_version())"
2.0
If you have installed the application:
$ django-admin --version
3.2.6
Go to your Django project home directory and do:
./manage.py --version
>>> import django
>>> print(django.get_version())
1.6.1
I am using the IDLE (Python GUI).
If you have pip, you can also do a pip freeze
and it will show your all component version including Django .
You can pipe it through grep to get just the Django version. That is,
josh#villaroyale:~/code/djangosite$ pip freeze | grep Django
Django==1.4.3
As you say you have two versions of Python, I assume they are in different virtual environments (e.g. venv) or perhaps Conda environments.
When you installed Django, it was likely in only one environment. It is possible that you have two different versions of Django, one for each version of python.
In from a Unix/Mac terminal, you can check your Python version as follows:
$ python --version
If you want to know the source:
$ which python
And to check the version of Django:
$ python -m django --version
For Python:
import sys
sys.version
For Django (as mentioned by others here):
import django
django.get_version()
The potential problem with simply checking the version, is that versions get upgraded and so the code can go out of date. You want to make sure that '1.7' < '1.7.1' < '1.7.5' < '1.7.10'. A normal string comparison would fail in the last comparison:
>>> '1.7.5' < '1.7.10'
False
The solution is to use StrictVersion from distutils.
>>> from distutils.version import StrictVersion
>>> StrictVersion('1.7.5') < StrictVersion('1.7.10')
True
There are various ways to get the Django version. You can use any one of the following given below according to your requirements.
Note: If you are working in a virtual environment then please load your python environment
Terminal Commands
python -m django --version
django-admin --version or django-admin.py version
./manage.py --version or python manage.py --version
pip freeze | grep Django
python -c "import django; print(django.get_version())"
python manage.py runserver --version
Django Shell Commands
import django
django.get_version() OR
django.VERSION
from django.utils import version
version.get_version() OR version.get_complete_version()
import pkg_resources
pkg_resources.get_distribution('django').version
(Feel free to modify this answer, if you have some kind of correction or you want to add more related information.)
Simply type python -m django --version or type pip freeze to see all the versions of installed modules including Django.
django-admin --version
python manage.py --version
pip freeze | grep django
For checking using a Python shell, do the following.
>>>from django import get_version
>>> get_version()
If you wish to do it in Unix/Linux shell with a single line, then do
python -c 'import django; print(django.get_version())'
Once you have developed an application, then you can check version directly using the following.
python manage.py runserver --version
Type in your CMD or terminal:
python -m django --version
Official Documentation
First:
python -m django --version
Second:
import django
print(django.get_version())
Django version or any other package version
Open the terminal or command prompt
Type
pip show django
or
pip3 show django
You can find any package version...
Example:
pip show tensorflow
pip show numpy
etc....
Run pip list in a Linux terminal and find Django and its version in the list:
Run pip freeze on cmd on Windows.
Django will use the version of Python specified by the PYTHONPATH environment variable. You can use echo $PYTHONPATH in a shell to determine which version will be used.
The module versions used by Django will be the module versions installed under the version of Python specified by PYTHONPATH.
There is an undocumented utils versions module in Django:
https://github.com/django/django/blob/master/django/utils/version.py
With that, you can get the normal version as a string or a detailed version tuple:
>>> from django.utils import version
>>> version.get_version()
... 1.9
>>> version.get_complete_version()
... (1, 9, 0, 'final', 0)
You can do it without Python too. Just type this in your Django directory:
cat __init__.py | grep VERSION
And you will get something like:
VERSION = (1, 5, 5, 'final', 0)
After django 1.0 you can just do this
$ django-admin --version
1.11.10
The most pythonic way I've seen to get the version of any package:
>>> import pkg_resources;
>>> pkg_resources.get_distribution('django').version
'1.8.4'
This ties directly into setup.py: https://github.com/django/django/blob/master/setup.py#L37
Also there is distutils to compare the version:
>>> 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
As for getting the python version, I agree with 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)]'
Tying it all together:
>>> StrictVersion((sys.version.split(' ')[0])) > StrictVersion('2.6')
True
If you want to make Django version comparison, you could use django-nine (pip install django-nine). For example, if Django version installed in your environment is 1.7.4, then the following would be true.
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
You can get django version by running the following command in a shell prompt
python -m django --version
If Django is installed, you should see the version otherwise you’ll get an error telling “No module named django”.
Type the following command in Python shell
import django
django.get_version()
Python version supported by Django version
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
To verify that Django can be seen by Python, type python from your shell. Then at the Python prompt, try to import Django:
>>> import django
>>> print(django.get_version())
2.1
>>> django.VERSION
(2, 1, 4, 'final', 0)
you can import django and then type print statement as given below to know the version of django i.e. installed on your system:
>>> import django
>>> print(django.get_version())
2.1
Open your CMD or Terminal and run any of the following commands
django-admin --version
or
python3 -m django --version
or
pip freeze
From your code, you can get the version of Django by using any of the two below.
import django
print(django.__version__)
# '3.1.5'
print(django.VERSION)
# (3, 1, 5, 'final', 0)
or from your terminal, you can run
django-admin --version
It's very simple open the CLI(command line or any IDE) wherever you installed python and Django just type,
django-admin --version
see here I have installed the latest Python and Django in my system and the result is shown in fig.
There are two more methods to get the Version (of Django and other packages).
Both of them need a version variable for the package to get the version.
According to PEP-396 the __version__variable should be set for every Python module.
Method 1 - Get version from filesystem
With that in mind, you know how to get the version for almost every Django/Python package. Look inside the __init__.py of the package root.
So if you are a fast at navigating through the filesystem, this can be a very universal way of getting the Version of any package inside your site-package (virtual environment).
Method 2 - Django Debug Toolbar
There is a very helpful tool that is called django debug toolbar.
If you use it (very recommendable for Django development) you can list the versions of all apps that have a package.__version__.

Installing django-haystack

Super simple question: I went through the "getting start" doc for haystack (using whoosh; I installed both python-whoosh and haystack using pip (first time using it)), and I simply cannot run python manage.py rebuild_index. I get this error:
python manage.py rebuild_index
Unknown command: 'rebuild_index'
Type 'manage.py help' for usage
I do have 'haystack' listed in my INSTALLED_APPS in settings.py, so this solution doesn't seem to work for me. I also don't get import errors when I run "import haystack" so it does exist. I tried this on my existing project as well as a brand new object made just for this and I just can't get it to work.
However, when I import haystack after python manage.py shell and try haystack.__version__ I get "AttributeError: 'module' object has no attribute 'version'". I get a similar error if I try haystack.management: it has no management attribute.
It must be something super simple I'm missing. Thank you for reading this!
Did you perhaps install the wrong thing? This (embarrassingly) happend to me just today. Make sure you install 'django-haystack' and not just 'haystack' (and you will have to remove 'haystack', since it conflicts with 'django-haystack').
Do you have the path to haystack in your Python path? (Either the PYTHONPATH shell variable or the sys.path Python list.)
Did you run python manage.py syncdb?
Does python manage.py shell followed by import haystack work?
After import haystack, what do you get for haystack.__version__?
In the same shell, type the following. Do you get errors for any of them?
haystack.management.commands
haystack.management.commands.rebuild_index
haystack.management.commands.rebuild_index.Command.help
I had the same error that you did, and fixed it by removing the old .egg and installing directly from the latest version. You can use easy_install:
easy_install https://github.com/toastdriven/django-haystack/zipball/v1.2.4
Hope this helps!
I had the same problem - for whatever reason, the haystack version in pip is quite old and obsolete (v 0.6 as of today). To use django-haystack check out the v1. source.
It compiles and installs simply with
python setup.py build
python setup.py install
Hope that helps!
I just had the same problem and hadn't set HAYSTACK_SITECONF in my settings.py.
Instead of using python manage.py rebuild_index try using ./manage.py rebuild_index
just do
pip uninstall haystack and
pip install django-haystack

Categories