skip to Main Content

I see lots of errors and suggestions about Parent module '' not loaded, ...

I don’t see any about specifically "out of the box" django 3.5.

$ mkvirtualenv foobar -p /usr/bin/python3
Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /home/isaac/.virtualenvs/foobar/bin/python3
Also creating executable in /home/isaac/.virtualenvs/foobar/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.

[foobar] $ pip install django
Collecting django
  Using cached Django-2.2.15-py3-none-any.whl (7.5 MB)
Collecting pytz
  Using cached pytz-2020.1-py2.py3-none-any.whl (510 kB)
Collecting sqlparse>=0.2.2
  Using cached sqlparse-0.3.1-py2.py3-none-any.whl (40 kB)
Installing collected packages: pytz, sqlparse, django
Successfully installed django-2.2.15 pytz-2020.1 sqlparse-0.3.1

[foobar] $ python
Python 3.5.3 (default, Jul  9 2020, 13:00:10)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/isaac/.virtualenvs/foobar/lib/python3.5/site-packages/django/__init__.py", line 1, in <module>
    from django.utils.version import get_version
  File "/home/isaac/.virtualenvs/foobar/lib/python3.5/site-packages/django/utils/version.py", line 6, in <module>
    from distutils.version import LooseVersion
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 666, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 577, in module_from_spec
  File "/home/isaac/.virtualenvs/foobar/lib/python3.5/site-packages/_distutils_hack/__init__.py", line 82, in create_module
    return importlib.import_module('._distutils', 'setuptools')
  File "/home/isaac/.virtualenvs/foobar/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 981, in _gcd_import
  File "<frozen importlib._bootstrap>", line 931, in _sanity_check
SystemError: Parent module 'setuptools' not loaded, cannot perform relative import

As you can see, I installed django using python3.5.

It seems to work fine with python2.7…

Is anyone else aware of a way around this bug, or something silly I did in my environment?

I am using debian stretch instead of buster, but I’m not sure if I’m ready to upgrade yet.

5

Answers


  1. Try using the approved way in python3, where venv ia part of the stdlib:

    /usr/bin/python3 -m venv /home/isaac/.virtualenvs/foobar
    /home/isaac/.virtualenvs/foobar/bin/pip install django
    
    Login or Signup to reply.
  2. I had a similar issue. I think it is the Django version you installed with pip. For me combination of Python3.5 and Django 1.9 did not give me that error.

    $ rm -r /home/isaac/.virtualenvs/foobar #Remove the content
    $ /usr/bin/python3 -m venv /home/isaac/.virtualenvs/foobar #Recreate your environment
    $ cd /home/isaac/.virtualenvs/foobar
    $ source bin/activate #Activate the environment
    $ pip -V #(my version is 8.1.1 -> 20.x ==current version)
    $ pip install django==1.9 #That version did not give an teh error
    $ django-admin startproject yourprojectname #(worked nicely)
    

    Alternative: Upgrade your Python version >= 3.6 on your Ubuntu machine and your’re ready to go with the latest Django version Here!

    Login or Signup to reply.
  3. Something happened in version 50 of setuptools.

    We could "solve" this problem by downgrading setuptools to 49.3.0 (and maybe pip to 20.2.1)

    pip install setuptools==49.3.0 and pip install pip==20.2.1

    Be aware though that this should only be a temporary solution!

    Login or Signup to reply.
  4. There is a temporary workaround described in the setuputils changelog:

    export SETUPTOOLS_USE_DISTUTILS=stdlib
    
    Login or Signup to reply.
  5. Probably you are using setuptools 50.0.0. There are some issues with it. https://github.com/pypa/setuptools/issues/2356
    Try to downgrade it.

    pip install setuptools==49.6.0

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search