【问题标题】:NameError: name '_mysql' is not definedNameError:名称'_mysql'未定义
【发布时间】:2021-10-12 01:29:46
【问题描述】:

我有以下错误。我正在使用 Docker CentOS:最新版本。 sqlalchemy部分似乎出现了错误。

Traceback (most recent call last):
  File "/usr/local/lib64/python3.8/site-packages/MySQLdb/__init__.py", line 18, in <module>
    from . import _mysql
ImportError: /lib64/libstdc++.so.6: cannot allocate memory in static TLS block

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "promotion_to_wis.py", line 107, in <module>
    promotion_update()
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "promotion_to_wis.py", line 77, in promotion_update
    engine = Environment(env).get_sa_engine()
  File "/var/www/app/backend/app/batch/config/environment.py", line 52, in get_sa_engine
    engine = create_engine(mysql_conn % ("user", "passwd", "mysql", 3306, "host"))
  File "<string>", line 2, in create_engine
  File "/usr/local/lib64/python3.8/site-packages/sqlalchemy/util/deprecations.py", line 298, in warned
    return fn(*args, **kwargs)
  File "/usr/local/lib64/python3.8/site-packages/sqlalchemy/engine/create.py", line 548, in create_engine
    dbapi = dialect_cls.dbapi(**dbapi_args)
  File "/usr/local/lib64/python3.8/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 167, in dbapi
    return __import__("MySQLdb")
  File "/usr/local/lib64/python3.8/site-packages/MySQLdb/__init__.py", line 24, in <module>
    version_info, _mysql.version_info, _mysql.__file__
NameError: name '_mysql' is not defined
FROM centos:latest

COPY . /var/www/app/

RUN yum update -y --disableplugin=fastestmirror && \
    yum install -y epel-release --disableplugin=fastestmirror && \
    yum install -y --disableplugin=fastestmirror sudo cronie && \
    yum install -y python38 mysql gcc vim wget && \
    yum install -y python38-devel mysql-devel

RUN wget https://bootstrap.pypa.io/get-pip.py
RUN python3 get-pip.py

WORKDIR /var/www/app/backend

RUN pip install --trusted-host pypi.python.org -r requirements.txt
        mysql_conn = "mysql://%s:%s@%s:%s/%s?charset=utf8"
        engine = create_engine(mysql_conn % ("user", "passwd", "mysql", 3306, "host"))

【问题讨论】:

    标签: python docker mysql-connector


    【解决方案1】:

    您使用的是 Centos 图像,看起来 mysql-server 包没有正确加载;尝试将dnf install mysql-server 添加到您的RUN。

    这应该安装mysql-server 及其所有依赖项。

    【讨论】:

    • 我仍然有同样的错误。 @埃里克考德威尔
    猜你喜欢
    • 2021-01-18
    • 2020-11-16
    • 1970-01-01
    • 2018-01-24
    • 1970-01-01
    • 2021-04-15
    • 2019-01-26
    • 2021-10-05
    相关资源
    最近更新 更多