Python manage.py runserver выдает ошибку после обновления Ubuntu до 20.0

#python #django #ubuntu #pip

#python #django #ubuntu #pip

Вопрос:

Я получаю эту ошибку во всех проектах Django в моей системе. Я обновился с Ubuntu 18.04 до 20.0 (фокальная ямка). С тех пор я получаю эти ошибки.

 Traceback (most recent call last):
  File "manage.py", line 21, in <module>
    main()
  File "manage.py", line 10, in main
    from django.core.management import execute_from_command_line
  File "/home/thebitshoes/Desktop/Environments/namllpV1_env/lib/python3.6/site-packages/django/__init__.py", line 1, in <module>
    from django.utils.version import get_version
  File "/home/thebitshoes/Desktop/Environments/namllpV1_env/lib/python3.6/site-packages/django/utils/version.py", line 6, in <module>
    from distutils.version import LooseVersion
  File "/home/thebitshoes/Desktop/Environments/namllpV1_env/lib/python3.6/distutils/__init__.py", line 17, in <module>
    real_distutils = imp.load_module("_virtualenv_distutils", None, distutils_path, ('', '', imp.PKG_DIRECTORY))
  File "/home/thebitshoes/Desktop/Environments/namllpV1_env/lib/python3.6/imp.py", line 245, in load_module
    return load_package(name, filename)
  File "/home/thebitshoes/Desktop/Environments/namllpV1_env/lib/python3.6/imp.py", line 217, in load_package
    return _load(spec)
  File "<frozen importlib._bootstrap>", line 683, in _load
AttributeError: 'NoneType' object has no attribute 'name'
  

Комментарии:

1. Обычно вам необходимо создать новые виртуальные среды и переустановить в них свои модули после обновления python.

2. Спасибо!! Я действительно зашел в папку виртуальной среды и в терминале я выдал команду для создания виртуальной среды вместо создания новой.

Ответ №1:

Я решил ее в соответствии с комментарием jordanm, большое спасибо, что указали мне на это направление

Я выдал команду для создания виртуальной среды вместо создания новой в папке, в которой находилась среда.

Это привело к следующему :

  virtualenv -p python3 namllpV1_env

Running virtualenv with interpreter /usr/bin/python3
Using base prefix '/usr'
/usr/local/lib/python2.7/dist-packages/virtualenv.py:1041: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import imp
New python executable in /home/thebitshoes/Desktop/Environments/namllpV1_env/bin/python3
Not overwriting existing python script /home/thebitshoes/Desktop/Environments/namllpV1_env/bin/python (you must use /home/thebitshoes/Desktop/Environments/namllpV1_env/bin/python3)
Installing setuptools, pip, wheel...done.
  

Затем, когда я сделал python manage.py он показал несколько различных ошибок, таких как Django not found и т.д.

Поэтому я удалил Django и переустановил его снова, а затем другие пакеты, которые я использую.

Теперь это работает!!

Комментарии:

1. Да. Виртуальные среды жестко кодируют некоторые пути, поэтому, если вы можете получить ошибки при перемещении папки в другие места.