TypeError: translation() получил неожиданный аргумент ключевого слова 'codeset'

Я изучаю учебник по Python на youtube и мне нужно создать сайт django, но я не могу начать, потому что когда я ввожу "python manage.py runserver", я получаю сообщение "TypeError: translation() got an unexpected keyword argument 'codeset'". Я пересматривал видео раз 20, чтобы посмотреть, не пропустил ли я что-нибудь, но нет, потому что это только начало учебника по веб-сайту django. Я также пробовал вводить python3 вместо python и некоторые другие варианты, которые я видел на Stack Overflow, но ни один из них не имеет точного отношения к сообщению об ошибке, которое я получаю. Возможно, кто-то знает, как это исправить?

Я попытался запустить сервер разработки, набрав "python manage.py runserver", который должен был запустить веб-сервер django на 127.0.0.1:8000 или что-то в этом роде, но вместо этого я получил сообщение об ошибке, указанное в заголовке

Я также изучал курс Моша по Python, столкнулся с той же проблемой, пришел сюда за ответами, а затем провел еще несколько исследований самостоятельно.

Я полный новичок, могу ошибаться, но в учебнике Мош заставляет нас установить django 2.1 вместо текущей версии django. Ошибка "translation() got an unexpected keyword argument 'codeset'" в основном означает, что python считает, что после gettext_module.translation( не должно быть аргумента 'codeset', который есть в коде, созданном с/(используемом в?) django 2.1.

Оказывается, в документации python gettext: "Изменено в версии 3.11: параметр codeset удален.". Значит, в django 2.1 есть код, который не пересогласован python 3.11, что вызывает ошибку.

Решение:

1- Удален мой проект python "PyShop".

2- Закрыт PyCharm.

3- Создали новый проект "PyShop".

4- В терминале наберите "pip uninstall django".

5- Затем установили текущую версию django, набрав в терминале "pip install django" (а не pip install django==2.1, как показано в учебнике).

6- Создали папку "pyshop", набрав в терминале "django-admin startproject pyshop .".

7- Набрал в терминале "python manage.py runserver".

И вуаля! Ошибки больше нет, потому что текущая версия django не создает материал с кодом, который текущая версия python в нем не распознает.

Новичок в python и stack overflow, извините за некоторые вещи, которые я, возможно, написал неправильно или что-то еще :)

Ошибка относится к файлу trans_real.py. Согласно сообщению об ошибке:

TypeError: translation() got an unexpected keyword argument 'codeset'

'codeset' не является допустимым ключевым словом. Поэтому закомментируйте его (поместите # в начало строки).

Это сработало для меня.

Вы можете удалить django 2.1 с помощью pip uninstall django==2.1 и переустановить django, совместимый с вашим текущим интерпретатором (Python3), используя pip install django.

Удалите django 2.1, выполнив команду cmd

pip uninstall django

Затем переустановите последнюю версию django, выполнив команду cmd

pip install django

Затем создайте проект, выполнив-

django-admin startproject project_name

Затем запустите

python manage.py runserver
Вернуться на верх