Django,python3,在安装时我得到:"Parent module 'setuptools' not loaded"
Django, python3, on install I get: "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...
配合得很好
有没有其他人知道解决这个错误的方法,或者我在我的环境中做了一些愚蠢的事情?
我正在使用 debian stretch 而不是 buster,但我不确定我是否准备好升级。
尝试使用 python3 中批准的方式,其中 env 是标准库的一部分:
/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 版本 Here!
setuptools 版本 50 发生了一些问题。
我们可以通过将 setuptools 降级到 49.3.0(也许 pip 降级到 20.2.1)来“解决”这个问题
pip install setuptools==49.3.0
和 pip install pip==20.2.1
请注意,这应该只是一个临时解决方案!
setuputils changelog 中描述了一个临时解决方法:
export SETUPTOOLS_USE_DISTUTILS=stdlib
可能您使用的是 setuptools 50.0.0。它有一些问题。 https://github.com/pypa/setuptools/issues/2356
尝试降级。
pip 安装 setuptools==49.6.0
我看到很多关于 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...
配合得很好有没有其他人知道解决这个错误的方法,或者我在我的环境中做了一些愚蠢的事情?
我正在使用 debian stretch 而不是 buster,但我不确定我是否准备好升级。
尝试使用 python3 中批准的方式,其中 env 是标准库的一部分:
/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 版本 Here!
setuptools 版本 50 发生了一些问题。
我们可以通过将 setuptools 降级到 49.3.0(也许 pip 降级到 20.2.1)来“解决”这个问题
pip install setuptools==49.3.0
和 pip install pip==20.2.1
请注意,这应该只是一个临时解决方案!
setuputils changelog 中描述了一个临时解决方法:
export SETUPTOOLS_USE_DISTUTILS=stdlib
可能您使用的是 setuptools 50.0.0。它有一些问题。 https://github.com/pypa/setuptools/issues/2356 尝试降级。
pip 安装 setuptools==49.6.0