Как установить 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, но я рад, что мне удалось запустить программу.