首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Docker文件中设置mysql-connector-python

在Docker文件中设置mysql-connector-python
EN

Stack Overflow用户
提问于 2019-04-03 11:56:18
回答 2查看 2.4K关注 0票数 1

我正在尝试建立一个mysql连接,它将与Python3.6.5中的SqlAlchemy一起工作。我的Dockerfile中有以下内容:

代码语言:javascript
复制
RUN pip3 install -r /event_git/requirements.txt

在requirements.txt中,我还有:

代码语言:javascript
复制
mysql-connector-python==8.0.15

但是,我无法连接到数据库。我还需要做什么来设置它吗?

更新:我得到了8.0.5,但不是8.0.15。显然,添加了一个协议缓冲区依赖项;有人知道如何处理它吗?

docker文件是:

代码语言:javascript
复制
RUN apt-get -y update && apt-get install -y python3 python3-pip fontconfig wget nodejs nodejs-legacy npm
RUN pip3 install --upgrade pip
# Copy contents of this directory (i.e. full source) to image
COPY . /my_project
# Install Python dependencies
RUN pip3 install -r /event_git/requirements.txt
# Set event_git folder as working directory
WORKDIR /my_project
ENV LANG C.UTF-8

我正在运行它通过

代码语言:javascript
复制
docker build -t event_git .;docker run -t -i event_git /bin/bash

然后执行脚本;数据库在我的本地机器上。这是在mysql-connector-python==8.0.5上工作的,而不是在8.0.15上工作的,所以设置是可以的;我认为我只需要满足添加的protobuff依赖项(有关protobuff依赖项的信息,请参阅https://github.com/pypa/warehouse/issues/5537 )。

EN

回答 2

Stack Overflow用户

发布于 2019-04-10 00:31:43

mysql-connector-python将Python Protobuf作为安装要求,这意味着protobuf将随mysql-connector-python一起安装。如果这不起作用,请尝试在您的requirements.txt中添加protobuf==3.6.1

票数 0
EN

Stack Overflow用户

发布于 2019-06-12 14:11:08

弄清楚了问题所在。关键是import mysql.connector需要位于create_engine所在的文件的顶部。仍然不确定确切的原因,但至少这似乎定义了_CONNECTION_POOLS = {}。如果有人知道为什么,请给出你的想法。

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

https://stackoverflow.com/questions/55486826

复制
相关文章

相似问题

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