Как установить django с python3.9 на ubuntu aws

У меня проблемы с установкой django с помощью команды sudo python3.9 -m pip install Django. Ошибка, которую я получаю при выполнении этой команды, следующая:

Traceback (most recent call last):
  File "/usr/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/usr/lib/python3/dist-packages/pip/__main__.py", line 19, in <module>
    sys.exit(pip.main())
  File "/usr/lib/python3/dist-packages/pip/__init__.py", line 217, in main
    return command.main(cmd_args)
  File "/usr/lib/python3/dist-packages/pip/basecommand.py", line 242, in main
    with self._build_session(
  File "/usr/lib/python3/dist-packages/pip/basecommand.py", line 66, in _build_session
    session = PipSession(
  File "/usr/lib/python3/dist-packages/pip/download.py", line 321, in __init__
    self.headers["User-Agent"] = user_agent()
  File "/usr/lib/python3/dist-packages/pip/download.py", line 93, in user_agent
    zip(["name", "version", "id"], platform.linux_distribution()),
AttributeError: module 'platform' has no attribute 'linux_distribution'

Когда я создал экземпляр сервера aws ubuntu, я запустил python3 -V, и результат показал, что на машине запущен python 3.5. Я обновил его до python 3.9. Теперь, когда я запускаю python3 -V, результат следующий: Python 3.9.4. После обновления до python3.9 я создал и активировал другую виртуальную среду. Теперь, когда я пытаюсь установить django с помощью команды sudo python3.9 -m pip install Django , я получаю приведенную выше ошибку. Если я использую sudo python3 -m pip install Django, django устанавливается с python3.5, потому что после этого, когда я запускаю sudo python3 manage.py migrate, он возвращает ошибку, указывающую на File "/usr/lib/python3.5/runpy.py", line 197, in _run_module_as_main Если я удалю python 3. 5 в папке /usr/lib (поскольку у меня там все еще есть python 3.9), python3.5 воссоздается в папке /usr/lib всякий раз, когда я переустанавливаю django с помощью sudo python3 -m pip install Django (даже если python3 -V выводит Python 3.9.4). Когда я запускаю sudo python3 manage.py migrate, он говорит, что у меня не установлен django в переменной окружения. Теперь объяснение становится скучным. ПОЖАЛУЙСТА, КАК МНЕ УСТАНОВИТЬ DJANGO НА UBUNTU AWS, ИСПОЛЬЗУЯ PYTHON3.9?

sudo apt-get install python3-setuptools
sudo apt remove python3-pip
sudo python3.9 -m easy_install pip

затем попробуйте установить django снова

python3 -m pip install Django

Не забудьте сначала создать виртуальную среду и указать версию python

Позже я обнаружил, что запустить

невозможно sudo python3.9 -m pip install Django. Как указано в сообщении stack overflow, найденном по ссылке Traceback while running 'sudo python3 manage.py migrate', python3.5 не поддерживает его.

Мне пришлось установить python3.6. Я смог использовать эту версию python для установки django, запустив sudo python3.6 -m pip install Django.

Меня определенно не устраивают подобные ломающие изменения, которые происходят в релизах python, но я рад, что мне удалось запустить программу.

Вернуться на верх