首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NameError:未定义名称“_mysql”

问NameError:未定义名称“_mysql”
EN

Stack Overflow用户
提问于 2021-10-12 01:29:46
回答 1查看 282关注 0票数 0

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

代码语言:javascript
复制
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
代码语言:javascript
复制
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
代码语言:javascript
复制
        mysql_conn = "mysql://%s:%s@%s:%s/%s?charset=utf8"
        engine = create_engine(mysql_conn % ("user", "passwd", "mysql", 3306, "host"))
EN

回答 1

Stack Overflow用户

发布于 2021-10-12 02:10:46

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69534107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档