Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于googleappenginepython灵活环境的Catboost_Python_Google App Engine Python_App Engine Flexible_Catboost - Fatal编程技术网

基于googleappenginepython灵活环境的Catboost

基于googleappenginepython灵活环境的Catboost,python,google-app-engine-python,app-engine-flexible,catboost,Python,Google App Engine Python,App Engine Flexible,Catboost,我正在尝试建立一个简单的GoogleAppEngine应用程序,通过POST请求获取JSON数据并应用Catboost分类器 我使用的是Python3.6,我在requirements.txt文件中包含了catboost==0.8 但是,部署失败: ERROR: (gcloud.app.deploy) Error Response: [9] Application startup error: [2018-04-24 16:42:04 +0000] [1] [INFO] Starting gun

我正在尝试建立一个简单的GoogleAppEngine应用程序,通过POST请求获取JSON数据并应用Catboost分类器

我使用的是Python3.6,我在
requirements.txt
文件中包含了
catboost==0.8

但是,部署失败:

ERROR: (gcloud.app.deploy) Error Response: [9]
Application startup error:
[2018-04-24 16:42:04 +0000] [1] [INFO] Starting gunicorn 19.7.1
[2018-04-24 16:42:04 +0000] [1] [INFO] Listening at: http://0.0.0.0:8080 (1)
[2018-04-24 16:42:04 +0000] [1] [INFO] Using worker: sync
[2018-04-24 16:42:04 +0000] [9] [INFO] Booting worker with pid: 9
[2018-04-24 16:42:05 +0000] [9] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/env/lib/python3.6/site-packages/gunicorn/arbiter.py", line 578, in spawn_worker
    worker.init_process()
  File "/env/lib/python3.6/site-packages/gunicorn/workers/base.py", line 126, in init_process
    self.load_wsgi()
  File "/env/lib/python3.6/site-packages/gunicorn/workers/base.py", line 135, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/env/lib/python3.6/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/env/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 65, in load
    return self.load_wsgiapp()
  File "/env/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/env/lib/python3.6/site-packages/gunicorn/util.py", line 352, in import_app
    __import__(module)
  File "/home/vmagent/app/main.py", line 8, in <module>
    from catboost import CatBoostClassifier, Pool
  File "/env/lib/python3.6/site-packages/catboost/__init__.py", line 1, in <module>
    from .core import Pool, CatBoost, CatBoostClassifier, CatBoostRegressor, CatboostError, cv, train  # noqa
  File "/env/lib/python3.6/site-packages/catboost/core.py", line 50, in <module>
    _catboost = get_catboost_bin_module()
  File "/env/lib/python3.6/site-packages/catboost/core.py", line 46, in get_catboost_bin_module
    import _catboost
  ModuleNotFoundError: No module named '_catboost'
我怀疑问题出在导入
catboost
时未注册
\u catboost
sys.modules
上。
在Google AppEngine Flexible Environment上,有没有一种方法可以使用使用C库的第三方应用程序,如Catboost?

AppEngine Flex不支持Python 3.6+Catboost,因为它完全是用户可配置的,没有任何技术原因。确认appengineflex支持python3.6。这是因为AppEngineFlex允许您将自己的容器发送到Flex,或者修改默认容器。您可以检查如何修改默认容器

是否遵循了其他步骤?@Phix这些是标准环境的步骤。我正在使用灵活的环境。不确定这些步骤是否适用。错过了该部分,抱歉!在APP Engline Flex中,可用的选项只是将库的依赖项添加到应用程序源目录中的requirements.txt文件中,如您所述。系统设计为在启动应用程序之前使用pip安装任何依赖项。如果这在应用程序引擎上不起作用,它起作用了吗?@oakinlaja本地所有东西都正常。此外,谷歌应用程序引擎上的Python 2.7也可以正常工作。这只是因为Python3.6导入Catboost失败了。我认为问题是由于应用引擎使用的Debian发行版没有libpython3.6可用。目前只有libpython3.4。
FROM gcr.io/google-appengine/python

# Create a virtualenv for dependencies. This isolates these packages from
# system-level packages.
RUN virtualenv /env -p python3

# Setting these environment variables are the same as running
# source /env/bin/activate.
ENV VIRTUAL_ENV /env
ENV PATH /env/bin:$PATH

RUN apt-get update; \
        apt-get install -y \
        build-essential \
        python-dev \
        python-setuptools \
        python-matplotlib \
        libatlas-dev \
        curl \
        ssh \
        libatlas3gf-base && \
        apt-get clean

# Copy the application's requirements.txt and run pip to install all
# dependencies into the virtualenv.
ADD requirements.txt /app/requirements.txt
RUN pip install -r /app/requirements.txt