GCP 无法通过安装 pyodbc 进行部署
GCP Cann't deploy with install pyodbc
我正在尝试使用 GCP (Google 云平台) : API Service 和 python 项目。这个项目需要使用 lib : pyodbc 来连接到 MSSQL
。
在 localhost 中很好,但是当我尝试将此项目部署到 GCP 时,它显示这样的错误。有人可以帮我解决这个问题吗?
运行 运行 应用程序的机器必须安装 ODBC 头文件。
为此,您需要在自定义 运行 时间环境中部署应用程序,在安装要求之前先在其中安装此头文件。有关如何执行此操作的更多信息,请访问 。
我也会post这里描述的过程Brooks Lybrand in Stack-overflow question mentioned above: (His solution is based on )
- 在与您的应用相同的目录中执行
$ gcloud beta app gen-config --custom
。
- 将创建一个
Dockerfile
。
通过在 RUN pip install -r requirements.txt
之前添加以下命令来编辑 Dockerfile
(建议:在 RUN virtualenv ...
之后和 # Set virtualenv environment variables ...
之前添加这些行):
#Install FreeTDS and dependencies for PyODBC
RUN apt-get update
RUN apt-get install -y tdsodbc unixodbc-dev
RUN apt install unixodbc-bin -y
RUN apt-get clean -y
ADD odbcinst.ini /etc/odbcinst.ini
创建一个文件odbcinst.ini
如果不存在
编辑文件 odbcinst.ini
并添加以下内容:
[FreeTDS]
Description=FreeTDS Driver
Driver=/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup=/usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
执行 $ gcloud app deploy
它应该可以毫无问题地部署。
我自己测试过,我得到了同样的错误。在此过程之后,应用程序已部署,没有任何问题。
我现在在使用命令 gcloud beta app gen-config --custom 时收到以下错误:
警告:此命令已弃用,很快就会被删除。
作为替代方案,您可以根据您的语言选项卡下 https://cloud.google.com/appengine/docs/flexible/python/configuring-your-app-with-app-yaml (App Engine Flexible Environment) or https://cloud.google.com/appengine/docs/standard/python/config/appref(App Engine 标准环境)中的说明自行创建一个 app.yaml 文件。
要创建自定义运行时,请按照以下说明进行操作
https://cloud.google.com/appengine/docs/flexible/custom-runtimes/
错误:(gcloud.beta.app.gen-config) 此命令不支持 python3.
我正在尝试使用 GCP (Google 云平台) : API Service 和 python 项目。这个项目需要使用 lib : pyodbc 来连接到 MSSQL
。
在 localhost 中很好,但是当我尝试将此项目部署到 GCP 时,它显示这样的错误。有人可以帮我解决这个问题吗?
运行 运行 应用程序的机器必须安装 ODBC 头文件。
为此,您需要在自定义 运行 时间环境中部署应用程序,在安装要求之前先在其中安装此头文件。有关如何执行此操作的更多信息,请访问
我也会post这里描述的过程Brooks Lybrand in Stack-overflow question mentioned above: (His solution is based on
- 在与您的应用相同的目录中执行
$ gcloud beta app gen-config --custom
。 - 将创建一个
Dockerfile
。 通过在
RUN pip install -r requirements.txt
之前添加以下命令来编辑Dockerfile
(建议:在RUN virtualenv ...
之后和# Set virtualenv environment variables ...
之前添加这些行):#Install FreeTDS and dependencies for PyODBC RUN apt-get update RUN apt-get install -y tdsodbc unixodbc-dev RUN apt install unixodbc-bin -y RUN apt-get clean -y ADD odbcinst.ini /etc/odbcinst.ini
创建一个文件
odbcinst.ini
如果不存在编辑文件
odbcinst.ini
并添加以下内容:[FreeTDS] Description=FreeTDS Driver Driver=/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so Setup=/usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
执行
$ gcloud app deploy
它应该可以毫无问题地部署。
我自己测试过,我得到了同样的错误。在此过程之后,应用程序已部署,没有任何问题。
我现在在使用命令 gcloud beta app gen-config --custom 时收到以下错误: 警告:此命令已弃用,很快就会被删除。
作为替代方案,您可以根据您的语言选项卡下 https://cloud.google.com/appengine/docs/flexible/python/configuring-your-app-with-app-yaml (App Engine Flexible Environment) or https://cloud.google.com/appengine/docs/standard/python/config/appref(App Engine 标准环境)中的说明自行创建一个 app.yaml 文件。
要创建自定义运行时,请按照以下说明进行操作 https://cloud.google.com/appengine/docs/flexible/custom-runtimes/
错误:(gcloud.beta.app.gen-config) 此命令不支持 python3.