Django, python3, 설치시 "Parent module 'setuptools'not loaded"

Aug 30 2020

많은 오류와 제안이 있습니다. Parent module '' not loaded, ...

특별히 "즉시 사용 가능한"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

보시다시피 python3.5를 사용하여 django를 설치했습니다.

python2.7에서 잘 작동하는 것 같습니다 ...

다른 사람이이 버그를 해결하는 방법을 알고 있거나 내 환경에서 내가 한 어리석은 일을 알고 있습니까?

버스터 대신 데비안 스트레치를 사용하고 있지만 아직 업그레이드 할 준비가되었는지 확실하지 않습니다.

답변

19 timothy3001 Aug 31 2020 at 09:54

setuptools 버전 50에서 문제가 발생했습니다.

setuptools를 49.3.0으로 다운 그레이드하여이 문제를 "해결"할 수 있습니다 (그리고 pip를 20.2.1로).

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

이것은 일시적인 해결책 일뿐입니다!

10 DavidRenshaw Aug 31 2020 at 17:51

setuputils 변경 로그에 설명 된 임시 해결 방법이 있습니다 .

export SETUPTOOLS_USE_DISTUTILS=stdlib
1 hd1 Aug 31 2020 at 00:29

python3에서 승인 된 방법을 사용해보십시오. 여기서 venv ia는 stdlib의 일부입니다.

/usr/bin/python3 -m venv /home/isaac/.virtualenvs/foobar
/home/isaac/.virtualenvs/foobar/bin/pip install django
1 ErnstPlesiutschnig Aug 31 2020 at 09:43

비슷한 문제가있었습니다. pip로 설치 한 Django 버전이라고 생각합니다. 나에게 Python3.5와 Django 1.9의 조합은 나에게 그 오류를주지 않았습니다.

$ 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)

대안 : Ubuntu 머신에서 Python 버전> = 3.6을 업그레이드하면 최신 Django 버전을 사용할 준비가되었습니다 . 여기에서!

1 AlexHurko Sep 01 2020 at 00:44

아마도 setuptools 50.0.0을 사용하고있을 것입니다. 그것에 몇 가지 문제가 있습니다.https://github.com/pypa/setuptools/issues/2356 다운 그레이드를 시도하십시오.

pip 설치 setuptools == 49.6.0