【问题标题】:Ta-lib package on Google App Engine Standard Python 3 using requirements.txt使用 requirements.txt 的 Google App Engine 标准 Python 3 上的 Ta-lib 包
【发布时间】:2020-03-25 01:22:56
【问题描述】:

每次我尝试部署到应用引擎时,都会遇到 ta-lib 的构建失败。日志记录有几行,如:

ERROR: Command errored out with exit status 1
ModuleNotFoundError: No module named 'numpy'

在使用 docker 和 ta-lib wheel 之前,我已经在应用引擎上灵活部署,但我无法让轮子在标准环境下工作,所以直接在 requirements.txt 中尝试 ta-lib。我的项目在本地运行良好。 我想可能是因为 requirements.txt 没有先安装 Numpy 之类的。我的 app.yaml 很简单:

runtime: python37
entrypoint: gunicorn -b :$PORT main:app

是否可以在应用引擎标准环境 Python 3.7 上使用 ta-lib?

任何帮助将不胜感激。

更新:

这是我的 requirements.txt 文件:

numpy==1.18.1
pandas==1.0.1
Flask
marshmallow
pytz
requests
python-dateutil
flask-cors
python-dotenv
python-jose-cryptodome
six
cryptocompare
ta-lib==0.4.17

【问题讨论】:

  • 能否附上您的 requirements.txt 文件?
  • 感谢@NibrassH 的评论。我已经添加了文件。

标签: google-app-engine python-3.7 ta-lib


【解决方案1】:

您必须考虑 Python applications on App Engine Standard 的依赖项是在标准 requirements.txt 文件中声明的。

当您部署到 App Engine 时,在 requirements.txt 文件将随您的自动安装 部署的应用程序

Also regarding requirements.txt

“需求文件”是包含项目列表的文件 像这样使用 pip install 安装:

pip install -r requirements.txt 

有关文件格式的详细信息是 这里:需求文件格式。

从逻辑上讲,需求文件只是 pip 安装参数的列表 放在一个文件中。请注意,您不应依赖 pip 以任何特定顺序安装的文件。

然而,安装ta-lib python module的过程包括:

1.安装底层TA-Lib C库。

2.安装python依赖(numpy或pandas等)

3.安装ta-lib python模块

因此,我认为您不能将此模块用于 App Engine 标准。我认为您应该考虑使用 App Engine Flexible 或 Cloud Run。

这是一个关于如何Install ta-lib in python 3.7 的教程以及一个示例Dockerfile

FROM python:3.7
WORKDIR /tmp
RUN pip install numpy
RUN pip install pandas
RUN pip install sqlalchemy
# TA-Lib
RUN wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz && \
 tar -xvzf ta-lib-0.4.0-src.tar.gz && \
 cd ta-lib/ && \
 ./configure — prefix=/usr && \
 make && \
 make install && \
 cd .. && \
 wget https://files.pythonhosted.org/packages/90/05/d4c6a778d7a7de0be366bc4a850b4ffaeac2abad927f95fa8ba6f355a082/TA-Lib-0.4.17.tar.gz && \
 tar xvf TA-Lib-0.4.17.tar.gz && \
 cd TA-Lib-0.4.17 && \
 python setup.py install && \
 cd ..
RUN rm -R ta-lib ta-lib-0.4.0-src.tar.gz TA-Lib-0.4.17 TA-Lib-0.4.17.tar.gz

【讨论】:

  • 感谢@marian.vladoi 的回复。我想可能是这样。我之前已成功部署到柔性环境。我希望可能有一种方法可以在标准环境中做到这一点,因为他们开始允许用 C 编写的第 3 方 Python 模块。我会等到赏金结束,如果没有其他人想出一种方法来奖励你积分去做吧。
猜你喜欢
  • 1970-01-01
  • 2020-03-20
  • 1970-01-01
  • 2019-03-09
  • 2018-03-12
  • 1970-01-01
  • 1970-01-01
  • 2020-01-23
  • 2018-07-01
相关资源
最近更新 更多