• 1401/06/03

ایراد در deploy به واسطه mysql :

سلام. در deploy پروژه بعد از migrate کردن پیام خطای زیر داده شده:

Traceback (most recent call last):

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection

   self.connect()

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/utils/asyncio.py", line 33, in inner

   return func(*args, **kwargs)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/db/backends/base/base.py", line 200, in connect

   self.connection = self.get_new_connection(conn_params)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/django/base.py", line 366, in get_new_connection

   cnx = mysql.connector.connect(**conn_params)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/pooling.py", line 286, in connect

   return CMySQLConnection(*args, **kwargs)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/connection_cext.py", line 101, in __init__

   self.connect(**kwargs)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/abstracts.py", line 1099, in connect

   self._post_connection()

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/abstracts.py", line 1071, in _post_connection

   self.set_charset_collation(self._charset_id)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/abstracts.py", line 1016, in set_charset_collation

   ) = CharacterSet.get_charset_info(charset)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/constants.py", line 775, in get_charset_info

   info = cls.get_default_collation(charset)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/constants.py", line 746, in get_default_collation

   raise ProgrammingError(f"Character set '{charset}' unsupported")

mysql.connector.errors.ProgrammingError: Character set '255' unsupported

 

The above exception was the direct cause of the following exception:

 

Traceback (most recent call last):

 File "manage.py", line 22, in <module>

   main()

 File "manage.py", line 18, in main

   execute_from_command_line(sys.argv)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line

   utility.execute()

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/core/management/__init__.py", line 413, in execute

   self.fetch_command(subcommand).run_from_argv(self.argv)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/core/management/base.py", line 354, in run_from_argv

   self.execute(*args, **cmd_options)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/core/management/base.py", line 398, in execute

   output = self.handle(*args, **options)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/core/management/base.py", line 89, in wrapped

   res = handle_func(*args, **kwargs)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/core/management/commands/migrate.py", line 75, in handle

   self.check(databases=[database])

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/core/management/base.py", line 423, in check

   databases=databases,

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/core/checks/registry.py", line 76, in run_checks

   new_errors = check(app_configs=app_configs, databases=databases)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/core/checks/database.py", line 13, in check_database_backends

   issues.extend(conn.validation.check(**kwargs))

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/db/backends/mysql/validation.py", line 9, in check

   issues.extend(self._check_sql_mode(**kwargs))

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/db/backends/mysql/validation.py", line 13, in _check_sql_mode

   if not (self.connection.sql_mode & {'STRICT_TRANS_TABLES', 'STRICT_ALL_TABLES'}):

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/utils/functional.py", line 48, in __get__

   res = instance.__dict__[self.name] = self.func(instance)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/django/base.py", line 551, in sql_mode

   with self.cursor() as cursor:

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/utils/asyncio.py", line 33, in inner

   return func(*args, **kwargs)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/db/backends/base/base.py", line 259, in cursor

   return self._cursor()

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/db/backends/base/base.py", line 235, in _cursor

   self.ensure_connection()

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/utils/asyncio.py", line 33, in inner

   return func(*args, **kwargs)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection

   self.connect()

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/db/utils.py", line 90, in __exit__

   raise dj_exc_value.with_traceback(traceback) from exc_value

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection

   self.connect()

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/utils/asyncio.py", line 33, in inner

   return func(*args, **kwargs)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/db/backends/base/base.py", line 200, in connect

   self.connection = self.get_new_connection(conn_params)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/django/base.py", line 366, in get_new_connection

   cnx = mysql.connector.connect(**conn_params)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/pooling.py", line 286, in connect

   return CMySQLConnection(*args, **kwargs)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/connection_cext.py", line 101, in __init__

   self.connect(**kwargs)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/abstracts.py", line 1099, in connect

   self._post_connection()

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/abstracts.py", line 1071, in _post_connection

   self.set_charset_collation(self._charset_id)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/abstracts.py", line 1016, in set_charset_collation

   ) = CharacterSet.get_charset_info(charset)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/constants.py", line 775, in get_charset_info

   info = cls.get_default_collation(charset)

 File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/constants.py", line 746, in get_default_collation

   raise ProgrammingError(f"Character set '{charset}' unsupported")

django.db.utils.ProgrammingError: (-1, "Character set '255' unsupported", None)

 

فایل manage.py هم به صورت زیر هست:

#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys

def main():
    """Run administrative tasks."""
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'FirouzehHotel.settings')
    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise ImportError(
            "Couldn't import Django. Are you sure it's installed and "
            "available on your PYTHONPATH environment variable? Did you "
            "forget to activate a virtual environment?"
        ) from exc
    execute_from_command_line(sys.argv)


if __name__ == '__main__':
    main()
 

چطور میتونم رفعش کنم. با تشکر

  • 1401/06/03
  • ساعت 19:21

و همچنین این خطا:

  File "manage.py", line 17

   ) from exc

        ^

SyntaxError: invalid syntax


  • 1401/06/05
  • ساعت 09:18

سلام دوست من

فکر میکنم مشکل از venv هستش

یک بار پروژه ی python رو از تب python پاک کنین و مجدد ایجاد کنین تا مشکل برطرف بشه


  • 1401/06/05
  • ساعت 09:38

سلام استاد گرامی

از قسمت python app اپی که ساختم رو پاک کردم و دوباره اپ رو ساختم حل نشد. آیا این ایراد از اتصال به mysql نیست؟ بعضی از خطوطش درباره mysql-connector نوشته


  • 1401/06/05
  • ساعت 11:00

با سلام.

 

در واقع دو Error مختلف است که یکی همان طور که استاد اشاره کرد به venv مربوط است و دیگری به DB و character set ها و collation های استفاده شده مرتبط است.

این پست را نیز ببینید.


  • 1401/06/05
  • ساعت 11:26

سلام

پست رو دیدم

پکیج جنگو را که دوباره پاک کردم و نصب کردم حل نشد اما mysqlClient رو نمیدونم چطور ست کنم. دو تا دیگه سایت اوردم بالاهمچین مشکلی نداشتم ولی این یکی خطا داده. ایراد از پکیج connector هست فکر کنم مثل همین پستی که فرستادین

برای نصب mySqlClient لطفا فیلم آموزشی یا پستی هست که راهنمایی بفرمایین؟


  • 1401/06/05
  • ساعت 11:27

بنظرم شما که دوره به این خوبی برگزار کردین یه آپدیت بزارین و این مطالب را اضافه کنین


  • 1401/06/05
  • ساعت 15:53

mysqlClient رو نمیدونم چطور ست کنم

ابتدا package آنرا نصب کنید:

pip install mysqlclient

سپس در settings:


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'YourDatabasetName',
        'USER': 'UserName',
        'PASSWORD': 'password',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}



 

سپس migrate ها را اجرا کنید.


  • 1401/06/05
  • ساعت 22:54

تشکر فراوان. مشکل برطرف شد


  • 1401/06/06
  • ساعت 09:40

خوشحالم که مشکل برطرف شد دوست من

ممنونم از شما اقا / خانم weby عزیز


  • 1401/06/06
  • ساعت 14:31

خواهش می کنم.


logo-enamadlogo-samandehi