Creating a new Django project, Stuck with the very first steps

58 views
Skip to first unread message

Rodolphe Gohard

unread,
Mar 24, 2020, 7:11:44 AM3/24/20
to Django users
Hello, I am wanting to create a django project.


But I have encountered multiple problems and am stuck.


My env:
Ubuntu on WSL
python
2.7
python
3.5.2


Here is the steps I took so far:

# create the venv
sudo apt
-get install python3-venv
python3
-m venv pythonenv
source
./pythonenv/bin/activate


python
-m pip install Django
# until there it works


# now, I can't run django-admin startproject diagnosis-admin, fails everytime with a new errors


# pbs with secrets <- pyopenssl <- wheel <- libs
sudo apt
-get install build-essential libssl-dev libffi-dev python3-dev  
pip install wheel
pip install pyopenssl


sudo apt
-get install libsasl2-dev python-dev libldap2-dev libssl-dev
pip install secrets


django
-admin startproject diagnosis-admin

it still fails with an error I don't know what to do with:
(pythonenv) rodolphe@PHP140:~/dev/assistance-tool/diagnosis-admin$ django-admin startproject diagnosis-admin
Traceback (most recent call last):
 
File "/mnt/c/Users/gohard.r/dev/assistance-tool/diagnosis-admin/pythonenv/lib/python3.5/site-packages/django/core/management/base.py", line 328, in run_from_argv
   
self.execute(*args, **cmd_options)
 
File "/mnt/c/Users/gohard.r/dev/assistance-tool/diagnosis-admin/pythonenv/lib/python3.5/site-packages/django/core/management/base.py", line 369, in execute
    output
= self.handle(*args, **options)
 
File "/mnt/c/Users/gohard.r/dev/assistance-tool/diagnosis-admin/pythonenv/lib/python3.5/site-packages/django/core/management/commands/startproject.py", line 18, in handle
    options
['secret_key'] = get_random_secret_key()
 
File "/mnt/c/Users/gohard.r/dev/assistance-tool/diagnosis-admin/pythonenv/lib/python3.5/site-packages/django/core/management/utils.py", line 82, in get_random_secret_key
   
return get_random_string(50, chars)
 
File "/mnt/c/Users/gohard.r/dev/assistance-tool/diagnosis-admin/pythonenv/lib/python3.5/site-packages/django/utils/crypto.py", line 46, in get_random_string
   
return ''.join(secrets.choice(allowed_chars) for i in range(length))
 
File "/mnt/c/Users/gohard.r/dev/assistance-tool/diagnosis-admin/pythonenv/lib/python3.5/site-packages/django/utils/crypto.py", line 46, in <genexpr>
   
return ''.join(secrets.choice(allowed_chars) for i in range(length))
AttributeError: module 'secrets' has no attribute 'choice'


During handling of the above exception, another exception occurred:


Traceback (most recent call last):
 
File "/mnt/c/Users/gohard.r/dev/assistance-tool/diagnosis-admin/pythonenv/bin/django-admin", line 11, in <module>
    sys
.exit(execute_from_command_line())
 
File "/mnt/c/Users/gohard.r/dev/assistance-tool/diagnosis-admin/pythonenv/lib/python3.5/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
    utility
.execute()
 
File "/mnt/c/Users/gohard.r/dev/assistance-tool/diagnosis-admin/pythonenv/lib/python3.5/site-packages/django/core/management/__init__.py", line 395, in execute
   
self.fetch_command(subcommand).run_from_argv(self.argv)
 
File "/mnt/c/Users/gohard.r/dev/assistance-tool/diagnosis-admin/pythonenv/lib/python3.5/site-packages/django/core/management/base.py", line 341, in run_from_argv
    connections
.close_all()
 
File "/mnt/c/Users/gohard.r/dev/assistance-tool/diagnosis-admin/pythonenv/lib/python3.5/site-packages/django/db/utils.py", line 225, in close_all
   
for alias in self:
 
File "/mnt/c/Users/gohard.r/dev/assistance-tool/diagnosis-admin/pythonenv/lib/python3.5/site-packages/django/db/utils.py", line 219, in __iter__
   
return iter(self.databases)
 
File "/mnt/c/Users/gohard.r/dev/assistance-tool/diagnosis-admin/pythonenv/lib/python3.5/site-packages/django/utils/functional.py", line 48, in __get__
    res
= instance.__dict__[self.name] = self.func(instance)
 
File "/mnt/c/Users/gohard.r/dev/assistance-tool/diagnosis-admin/pythonenv/lib/python3.5/site-packages/django/utils/functional.py", line 22, in func
   
'Cannot use cached_property instance without calling '
TypeError: Cannot use cached_property instance without calling __set_name__() on it.
(pythonenv) rodolphe@PHP140:~/dev/assistance-tool/diagnosis-admin$ python --version
Python 3.5.2


I didn't expect so many steps and missing/wrong dependencies, so I guess there must be something wrong in the env, or django/python version, but not sure where to look.

Can anyone help ?






Andréas Kühne

unread,
Mar 24, 2020, 8:35:03 AM3/24/20
to django...@googlegroups.com
Hi,

First of all - you need to make sure you are using the python 3 version for everything - you can't mix and match python versions. So make sure that python 3 is the version you are using for everything,
Second - python 3.5.2 is an old version of python 3 - you need at least version 3.6 for django 3.0 - and that could also be the issue with the other requirements. I would recommend upgrading to at least version 3.6, but preferably the latest python 3 version (3.8). Then you shouldn't have any issues with this?

Regards,

Andréas


--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/b291aeb4-67c0-4089-970b-6ddd084e201d%40googlegroups.com.

Bruno Santos

unread,
Mar 24, 2020, 10:00:45 AM3/24/20
to django...@googlegroups.com
Hello, try to uninstall python and install again. Have just one installation of python, 2.7 or 3.5.2 

Akinfolarin Stephen

unread,
Mar 24, 2020, 10:00:58 AM3/24/20
to Django users
to create your first django project first 
install python on your sysytem
after that you check if you have pip on your sysytem of course it will be there
to check use ths command: pip --version
after that install a virtual environment in case you don't know what virtual environment is it help you make a specific setting to just one project it won't have impact on other project
th commanad is:
pip install virtualenvwrapper
after that let now make the environment
use this command
mkvirtualenv (the name you want to give to your virtual environment)
your environment is automatically generated
install django
use this command: pip install django
before creating your project store in a folder
use this command: mkdir (the name of the folder)
then use this command to open the folder
cd (the name)
after that let create our django project with this command :
use this command: django-admin startprojects (the name of the project)
django will automatically create a folder inside the folder you create then go to the folder with this command
cd (the name of your django projects)
after that
enter this command: python manage.py runserver

Rodolphe Gohard

unread,
Mar 24, 2020, 10:57:46 AM3/24/20
to Django users
Hello, thanks for your answer.

I installed python 3.6 from another PPA and it works fine now. I just wish pip were aware of those requirements.
To unsubscribe from this group and stop receiving emails from it, send an email to django...@googlegroups.com.

Andréas Kühne

unread,
Mar 24, 2020, 11:42:26 AM3/24/20
to django...@googlegroups.com
The thing is - it should be - the packages are marked for each version. However with the mixup of python versions and also how you install it - I think the problem was increased because you installed in different ways and probably not only in the virtual environment. But great that you got it working!

Regards,

Andréas


To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/4fc173b1-4560-47f3-89f0-f3297667528e%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages