Django, python3, 설치시 "Parent module 'setuptools'not loaded"
많은 오류와 제안이 있습니다. 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에서 잘 작동하는 것 같습니다 ...
다른 사람이이 버그를 해결하는 방법을 알고 있거나 내 환경에서 내가 한 어리석은 일을 알고 있습니까?
버스터 대신 데비안 스트레치를 사용하고 있지만 아직 업그레이드 할 준비가되었는지 확실하지 않습니다.
답변
setuptools 버전 50에서 문제가 발생했습니다.
setuptools를 49.3.0으로 다운 그레이드하여이 문제를 "해결"할 수 있습니다 (그리고 pip를 20.2.1로).
pip install setuptools==49.3.0 과 pip install pip==20.2.1
이것은 일시적인 해결책 일뿐입니다!
setuputils 변경 로그에 설명 된 임시 해결 방법이 있습니다 .
export SETUPTOOLS_USE_DISTUTILS=stdlib
python3에서 승인 된 방법을 사용해보십시오. 여기서 venv ia는 stdlib의 일부입니다.
/usr/bin/python3 -m venv /home/isaac/.virtualenvs/foobar
/home/isaac/.virtualenvs/foobar/bin/pip install django
비슷한 문제가있었습니다. 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 버전을 사용할 준비가되었습니다 . 여기에서!
아마도 setuptools 50.0.0을 사용하고있을 것입니다. 그것에 몇 가지 문제가 있습니다.https://github.com/pypa/setuptools/issues/2356 다운 그레이드를 시도하십시오.
pip 설치 setuptools == 49.6.0