安装由 setup.py 创建的用于将自定义预测部署到 AI 平台的 zip 文件的问题

问题描述

我正在关注关于创建自定义预测 (https://cloud.google.com/ai-platform/prediction/docs/custom-prediction-routines) 的 google 文档。在为模型 AI 平台预测 API 构建新版本时,出现以下错误

protected $routeMiddleware = [ 'verify_app_domain' => \App\Http\Middleware\VerifyAppDomain::class ];

正在本地测试我的 zip 文件

Error Create Version Failed. Bad model detected with error: "Failed to load model: User-provided package imt_ai_predict_batch-0.1.tar.gz Failed to install: Command '['python-default','-m','pip','install','--target=/tmp/custom_lib','--no-cache-dir','-b','/tmp/pip_builds','/tmp/custom_code/imt_ai_predict_batch-0.1.tar.gz']' returned non-zero exit status 1. (Error code: 0)"

抛出以下错误

pip install --target=/tmp/custom_lib --no-cache-dir -b /tmp/pip_builds dist/imt_ai_predict_batch-0.1.tar.gz

在 mac 终端上运行“python setup.py egg_info”,没有任何有用的弹出。

Processing ./dist/imt_ai_predict_batch-0.1.tar.gz
    ERROR: Command errored out with exit status 1:
     command: /Users/amrit.tiwary/anaconda3/envs/mini_imt2/bin/python -c 'import sys,setuptools,tokenize; sys.argv[0] = '"'"'/private/var/folders/mj/b_g4b4yj26q278g9k58w92fck5d9wj/T/pip-req-build-9dmmje_z/setup.py'"'"'; __file__='"'"'/private/var/folders/mj/b_g4b4yj26q278g9k58w92fck5d9wj/T/pip-req-build-9dmmje_z/setup.py'"'"';f=getattr(tokenize,'"'"'open'"'"',open)(__file__);code=f.read().replace('"'"'\r\n'"'"','"'"'\n'"'"');f.close();exec(compile(code,__file__,'"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/mj/b_g4b4yj26q278g9k58w92fck5d9wj/T/pip-pip-egg-info-ic3qhcpo
         cwd: /private/var/folders/mj/b_g4b4yj26q278g9k58w92fck5d9wj/T/pip-req-build-9dmmje_z/
    Complete output (6 lines):
    Parent directory: /private/var/folders/mj/b_g4b4yj26q278g9k58w92fck5d9wj/T/pip-req-build-9dmmje_z
    Traceback (most recent call last):
      File "<string>",line 1,in <module>
      File "/private/var/folders/mj/b_g4b4yj26q278g9k58w92fck5d9wj/T/pip-req-build-9dmmje_z/setup.py",line 22,in <module>
        required_PACKAGES = [line.strip() for line in open(base/"requirements.txt")] + \
    FileNotFoundError: [Errno 2] No such file or directory: '/private/var/folders/mj/b_g4b4yj26q278g9k58w92fck5d9wj/T/pip-req-build-9dmmje_z/requirements.txt'
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

Python 包:

Parent directory: . Packages: ['numpy==1.17.3','pandas==1.2.1','setuptools==53.0.0','Pillow==6.2.1','torchvision==0.5.0','torch @ https://download.pytorch.org/whl/cpu/torch-1.4.0%2Bcpu-cp37-cp37m-linux_x86_64.whl'] running egg_info writing imt_ai_predict_batch.egg-info/PKG-INFO writing dependency_links to imt_ai_predict_batch.egg-info/dependency_links.txt writing requirements to imt_ai_predict_batch.egg-info/requires.txt writing top-level names to imt_ai_predict_batch.egg-info/top_level.txt reading manifest file 'imt_ai_predict_batch.egg-info/SOURCES.txt' writing manifest file 'imt_ai_predict_batch.egg-info/SOURCES.txt'

设置.py

Packages: ['numpy==1.17.3','torch @ https://download.pytorch.org/whl/cpu/torch-1.4.0%2Bcpu-cp37-cp37m-linux_x86_64.whl']

解决方法

我能够通过删除“requirement.txt”并将包直接复制到 setup.py 来使其工作。不知道这种奇怪行为的真正原因。