MLflow Docker 在 Windows 上构建失败 - “命令 gcc 失败”

问题描述 投票:0回答:1

我正在尝试从 Windows 上的 MLFlow 托管模型构建容器。根据 mlflow 指令,该命令如下所示:

f"mlflow models build-docker --model-uri {logged_model} --name {container_name}"

这似乎成功安装了依赖项,但最终失败,gcc 命令失败 - sudo apt-get install gcc。我如何将修复集成到该管道中? docker 在 Windows 上构建时是否期望运行 Linux 命令(它在虚拟机中运行吗?),或者是否有我需要更改的设置?

Downloading artifacts: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 1001.27it/s]
2024/04/18 11:08:54 INFO mlflow.models.flavor_backend_registry: Selected backend for flavor 'python_function'
Downloading artifacts: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 9/9 [00:00<00:00, 69.77it/s]
2024/04/18 11:08:55 INFO mlflow.pyfunc.backend: Building docker image with name power_consumption_v1
D:\Programs\anaconda3\Lib\site-packages\paramiko\transport.py:219: CryptographyDeprecationWarning: Blowfish has been deprecated and will be removed in a future release
  "class": algorithms.Blowfish,
#0 building with "default" instance using docker driver

#1 [internal] load build definition from Dockerfile
#1 transferring dockerfile: 1.10kB done
#1 DONE 0.1s

#2 [internal] load metadata for docker.io/library/python:3.11.7-slim
#2 DONE 1.2s

#3 [internal] load .dockerignore
#3 transferring context: 2B done
#3 DONE 0.1s

#4 [1/8] FROM docker.io/library/python:3.11.7-slim@sha256:53d6284a40eae6b625f22870f5faba6c54f2a28db9027408f4dee111f1e885a2
#4 DONE 0.0s

#5 [internal] load build context
#5 transferring context: 124.36MB 5.0s
#5 transferring context: 136.66MB 6.2s done
#5 DONE 6.3s

#6 [2/8] RUN apt-get -y update && apt-get install -y --no-install-recommends nginx
#6 CACHED

#7 [3/8] WORKDIR /opt/mlflow
#7 CACHED

#8 [4/8] RUN pip install mlflow==2.11.3
#8 CACHED

#9 [5/8] COPY model_dir/best_estimator /opt/ml/model
#9 CACHED

#10 [6/8] RUN python -c "from mlflow.models import container as C; C._install_pyfunc_deps('/opt/ml/model', install_mlflow=False, enable_mlserver=False, env_manager='local');"
#10 2.315 Collecting pip==23.3.1
#10 2.315   Obtaining dependency information for pip==23.3.1 from https://files.pythonhosted.org/packages/47/6a/453160888fab7c6a432a6e25f8afe6256d0d9f2cbd25971021da6491d899/pip-23.3.1-py3-none-any.whl.metadata
#10 2.489   Downloading pip-23.3.1-py3-none-any.whl.metadata (3.5 kB)
#10 2.847 Collecting setuptools==68.2.2
#10 2.847   Obtaining dependency information for setuptools==68.2.2 from https://files.pythonhosted.org/packages/bb/26/7945080113158354380a12ce26873dd6c1ebd88d47f5bc24e2c5bb38c16a/setuptools-68.2.2-py3-none-any.whl.metadata
#10 2.874   Downloading setuptools-68.2.2-py3-none-any.whl.metadata (6.3 kB)
#10 2.955 Collecting wheel==0.41.2
#10 2.955   Obtaining dependency information for wheel==0.41.2 from https://files.pythonhosted.org/packages/b8/8b/31273bf66016be6ad22bb7345c37ff350276cfd46e389a0c2ac5da9d9073/wheel-0.41.2-py3-none-any.whl.metadata
#10 2.983   Downloading wheel-0.41.2-py3-none-any.whl.metadata (2.2 kB)
#10 2.995 Requirement already satisfied: mlflow==2.11.3 in /usr/local/lib/python3.11/site-packages (from -r /opt/ml/model/requirements.txt (line 1)) (2.11.3)
#10 3.036 Collecting argparse==1.4.0 (from -r /opt/ml/model/requirements.txt (line 2))
#10 3.037   Obtaining dependency information for argparse==1.4.0 from https://files.pythonhosted.org/packages/f2/94/3af39d34be01a24a6e65433d19e107099374224905f1e0cc6bbe1fd22a2f/argparse-1.4.0-py2.py3-none-any.whl.metadata
#10 3.063   Downloading argparse-1.4.0-py2.py3-none-any.whl.metadata (2.8 kB)
#10 3.128 Collecting cloudpickle==2.2.1 (from -r /opt/ml/model/requirements.txt (line 3))
#10 3.129   Obtaining dependency information for cloudpickle==2.2.1 from https://files.pythonhosted.org/packages/15/80/44286939ca215e88fa827b2aeb6fa3fd2b4a7af322485c7170d6f9fd96e0/cloudpickle-2.2.1-py3-none-any.whl.metadata
#10 3.155   Downloading cloudpickle-2.2.1-py3-none-any.whl.metadata (6.9 kB)
#10 3.359 Collecting lz4==4.3.2 (from -r /opt/ml/model/requirements.txt (line 4))
#10 3.359   Obtaining dependency information for lz4==4.3.2 from https://files.pythonhosted.org/packages/77/8f/955d5447392f3ada5274cfe3e3d7058e1c1230711ebdf45b285783bbdfed/lz4-4.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
#10 3.387   Downloading lz4-4.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.7 kB)
#10 3.407 Requirement already satisfied: numpy==1.26.4 in /usr/local/lib/python3.11/site-packages (from -r /opt/ml/model/requirements.txt (line 5)) (1.26.4)
#10 3.468 Collecting packaging==23.1 (from -r /opt/ml/model/requirements.txt (line 6))
#10 3.468   Obtaining dependency information for packaging==23.1 from https://files.pythonhosted.org/packages/ab/c3/57f0601a2d4fe15de7a553c00adbc901425661bf048f2a22dfc500caf121/packaging-23.1-py3-none-any.whl.metadata
#10 3.496   Downloading packaging-23.1-py3-none-any.whl.metadata (3.1 kB)
#10 3.818 Collecting pandas==2.1.4 (from -r /opt/ml/model/requirements.txt (line 7))
#10 3.818   Obtaining dependency information for pandas==2.1.4 from https://files.pythonhosted.org/packages/f8/8c/9ad173c5cd2c7178c84075c02ec37b5d1d53fb1d015f51ea3e623ea9c31c/pandas-2.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
#10 3.845   Downloading pandas-2.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (18 kB)
#10 3.948 Collecting pathlib==1.0.1 (from -r /opt/ml/model/requirements.txt (line 8))
#10 3.949   Obtaining dependency information for pathlib==1.0.1 from https://files.pythonhosted.org/packages/78/f9/690a8600b93c332de3ab4a344a4ac34f00c8f104917061f779db6a918ed6/pathlib-1.0.1-py3-none-any.whl.metadata
#10 3.979   Downloading pathlib-1.0.1-py3-none-any.whl.metadata (5.1 kB)
#10 4.198 Collecting psutil==5.9.0 (from -r /opt/ml/model/requirements.txt (line 9))
#10 4.234   Downloading psutil-5.9.0.tar.gz (478 kB)
#10 4.320      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 478.3/478.3 kB 5.8 MB/s eta 0:00:00
#10 4.381   Preparing metadata (setup.py): started
#10 4.920   Preparing metadata (setup.py): finished with status 'done'
#10 4.926 Requirement already satisfied: pyyaml==6.0.1 in /usr/local/lib/python3.11/site-packages (from -r /opt/ml/model/requirements.txt (line 10)) (6.0.1)
#10 5.179 Collecting scikit-learn==1.2.2 (from -r /opt/ml/model/requirements.txt (line 11))
#10 5.180   Obtaining dependency information for scikit-learn==1.2.2 from https://files.pythonhosted.org/packages/4c/64/a1e6e92b850b39200c82e3bc54d556b2c634b3904c39ac5cdb10b1c5765f/scikit_learn-1.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
#10 5.210   Downloading scikit_learn-1.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)
#10 5.494 Collecting scipy==1.11.4 (from -r /opt/ml/model/requirements.txt (line 12))
#10 5.495   Obtaining dependency information for scipy==1.11.4 from https://files.pythonhosted.org/packages/6b/d4/d62ce38ba00dc67d7ec4ec5cc19d36958d8ed70e63778715ad626bcbc796/scipy-1.11.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
#10 5.520   Downloading scipy-1.11.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (60 kB)
#10 5.537      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 60.4/60.4 kB 4.5 MB/s eta 0:00:00
#10 5.634 Collecting xgboost==2.0.3 (from -r /opt/ml/model/requirements.txt (line 13))
#10 5.634   Obtaining dependency information for xgboost==2.0.3 from https://files.pythonhosted.org/packages/c3/eb/496aa2f5d356af4185f770bc76055307f8d1870e11016b10fd779b21769c/xgboost-2.0.3-py3-none-manylinux2014_x86_64.whl.metadata
#10 5.669   Downloading xgboost-2.0.3-py3-none-manylinux2014_x86_64.whl.metadata (2.0 kB)
#10 5.768 Requirement already satisfied: click<9,>=7.0 in /usr/local/lib/python3.11/site-packages (from mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (8.1.7)
#10 5.778 Requirement already satisfied: entrypoints<1 in /usr/local/lib/python3.11/site-packages (from mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (0.4)
#10 5.780 Requirement already satisfied: gitpython<4,>=3.1.9 in /usr/local/lib/python3.11/site-packages (from mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (3.1.43)
#10 5.782 Requirement already satisfied: protobuf<5,>=3.12.0 in /usr/local/lib/python3.11/site-packages (from mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (4.25.3)
#10 5.784 Requirement already satisfied: pytz<2025 in /usr/local/lib/python3.11/site-packages (from mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (2024.1)
#10 5.786 Requirement already satisfied: requests<3,>=2.17.3 in /usr/local/lib/python3.11/site-packages (from mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (2.31.0)
#10 5.793 Requirement already satisfied: importlib-metadata!=4.7.0,<8,>=3.7.0 in /usr/local/lib/python3.11/site-packages (from mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (7.1.0)
#10 5.796 Requirement already satisfied: sqlparse<1,>=0.4.0 in /usr/local/lib/python3.11/site-packages (from mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (0.5.0)
#10 5.798 Requirement already satisfied: alembic!=1.10.0,<2 in /usr/local/lib/python3.11/site-packages (from mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (1.13.1)
#10 5.800 Requirement already satisfied: docker<8,>=4.0.0 in /usr/local/lib/python3.11/site-packages (from mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (7.0.0)
#10 5.801 Requirement already satisfied: Flask<4 in /usr/local/lib/python3.11/site-packages (from mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (3.0.3)
#10 5.822 Requirement already satisfied: querystring-parser<2 in /usr/local/lib/python3.11/site-packages (from mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (1.2.4)
#10 5.824 Requirement already satisfied: sqlalchemy<3,>=1.4.0 in /usr/local/lib/python3.11/site-packages (from mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (2.0.29)
#10 5.833 Requirement already satisfied: pyarrow<16,>=4.0.0 in /usr/local/lib/python3.11/site-packages (from mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (15.0.2)
#10 5.836 Requirement already satisfied: markdown<4,>=3.3 in /usr/local/lib/python3.11/site-packages (from mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (3.6)
#10 5.837 Requirement already satisfied: matplotlib<4 in /usr/local/lib/python3.11/site-packages (from mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (3.8.4)
#10 5.839 Requirement already satisfied: graphene<4 in /usr/local/lib/python3.11/site-packages (from mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (3.3)
#10 5.842 Requirement already satisfied: gunicorn<22 in /usr/local/lib/python3.11/site-packages (from mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (21.2.0)
#10 5.844 Requirement already satisfied: Jinja2<4,>=2.11 in /usr/local/lib/python3.11/site-packages (from mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (3.1.3)
#10 5.930 Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.11/site-packages (from pandas==2.1.4->-r /opt/ml/model/requirements.txt (line 7)) (2.9.0.post0)
#10 5.932 Requirement already satisfied: tzdata>=2022.1 in /usr/local/lib/python3.11/site-packages (from pandas==2.1.4->-r /opt/ml/model/requirements.txt (line 7)) (2024.1)
#10 5.999 Requirement already satisfied: joblib>=1.1.1 in /usr/local/lib/python3.11/site-packages (from scikit-learn==1.2.2->-r /opt/ml/model/requirements.txt (line 11)) (1.4.0)
#10 6.002 Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.11/site-packages (from scikit-learn==1.2.2->-r /opt/ml/model/requirements.txt (line 11)) (3.4.0)
#10 6.062 Requirement already satisfied: Mako in /usr/local/lib/python3.11/site-packages (from alembic!=1.10.0,<2->mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (1.3.3)
#10 6.066 Requirement already satisfied: typing-extensions>=4 in /usr/local/lib/python3.11/site-packages (from alembic!=1.10.0,<2->mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (4.11.0)
#10 6.089 Requirement already satisfied: urllib3>=1.26.0 in /usr/local/lib/python3.11/site-packages (from docker<8,>=4.0.0->mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (2.2.1)
#10 6.105 Requirement already satisfied: Werkzeug>=3.0.0 in /usr/local/lib/python3.11/site-packages (from Flask<4->mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (3.0.2)
#10 6.107 Requirement already satisfied: itsdangerous>=2.1.2 in /usr/local/lib/python3.11/site-packages (from Flask<4->mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (2.2.0)
#10 6.110 Requirement already satisfied: blinker>=1.6.2 in /usr/local/lib/python3.11/site-packages (from Flask<4->mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (1.7.0)
#10 6.133 Requirement already satisfied: gitdb<5,>=4.0.1 in /usr/local/lib/python3.11/site-packages (from gitpython<4,>=3.1.9->mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (4.0.11)
#10 6.162 Requirement already satisfied: graphql-core<3.3,>=3.1 in /usr/local/lib/python3.11/site-packages (from graphene<4->mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (3.2.3)
#10 6.164 Requirement already satisfied: graphql-relay<3.3,>=3.1 in /usr/local/lib/python3.11/site-packages (from graphene<4->mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (3.2.0)
#10 6.167 Requirement already satisfied: aniso8601<10,>=8 in /usr/local/lib/python3.11/site-packages (from graphene<4->mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (9.0.1)
#10 6.199 Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.11/site-packages (from importlib-metadata!=4.7.0,<8,>=3.7.0->mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (3.18.1)
#10 6.209 Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.11/site-packages (from Jinja2<4,>=2.11->mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (2.1.5)
#10 6.238 Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.11/site-packages (from matplotlib<4->mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (1.2.1)
#10 6.241 Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.11/site-packages (from matplotlib<4->mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (0.12.1)
#10 6.248 Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.11/site-packages (from matplotlib<4->mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (4.51.0)
#10 6.250 Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.11/site-packages (from matplotlib<4->mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (1.4.5)
#10 6.263 Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.11/site-packages (from matplotlib<4->mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (10.3.0)
#10 6.265 Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.11/site-packages (from matplotlib<4->mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (3.1.2)
#10 6.289 Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.11/site-packages (from python-dateutil>=2.8.2->pandas==2.1.4->-r /opt/ml/model/requirements.txt (line 7)) (1.16.0)
#10 6.315 Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/site-packages (from requests<3,>=2.17.3->mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (3.3.2)
#10 6.317 Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/site-packages (from requests<3,>=2.17.3->mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (3.7)
#10 6.321 Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.11/site-packages (from requests<3,>=2.17.3->mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (2024.2.2)
#10 6.362 Requirement already satisfied: greenlet!=0.4.17 in /usr/local/lib/python3.11/site-packages (from sqlalchemy<3,>=1.4.0->mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (3.0.3)
#10 6.487 Requirement already satisfied: smmap<6,>=3.0.1 in /usr/local/lib/python3.11/site-packages (from gitdb<5,>=4.0.1->gitpython<4,>=3.1.9->mlflow==2.11.3->-r /opt/ml/model/requirements.txt (line 1)) (5.0.1)
#10 6.674 Downloading pip-23.3.1-py3-none-any.whl (2.1 MB)
#10 6.799    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 17.3 MB/s eta 0:00:00
#10 6.826 Downloading setuptools-68.2.2-py3-none-any.whl (807 kB)
#10 6.873    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 807.9/807.9 kB 18.9 MB/s eta 0:00:00
#10 6.901 Downloading wheel-0.41.2-py3-none-any.whl (64 kB)
#10 6.918    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.8/64.8 kB 4.0 MB/s eta 0:00:00
#10 6.943 Downloading argparse-1.4.0-py2.py3-none-any.whl (23 kB)
#10 6.976 Downloading cloudpickle-2.2.1-py3-none-any.whl (25 kB)
#10 7.010 Downloading lz4-4.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)
#10 7.103    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.3/1.3 MB 14.0 MB/s eta 0:00:00
#10 7.128 Downloading packaging-23.1-py3-none-any.whl (48 kB)
#10 7.145    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 48.9/48.9 kB 3.4 MB/s eta 0:00:00
#10 7.173 Downloading pandas-2.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.2 MB)
#10 7.718    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.2/12.2 MB 24.0 MB/s eta 0:00:00
#10 7.743 Downloading pathlib-1.0.1-py3-none-any.whl (14 kB)
#10 7.776 Downloading scikit_learn-1.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.6 MB)
#10 8.197    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.6/9.6 MB 22.8 MB/s eta 0:00:00
#10 8.222 Downloading scipy-1.11.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (36.4 MB)
#10 9.866    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 36.4/36.4 MB 20.7 MB/s eta 0:00:00
#10 9.898 Downloading xgboost-2.0.3-py3-none-manylinux2014_x86_64.whl (297.1 MB)
#10 25.61    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 297.1/297.1 MB 2.7 MB/s eta 0:00:00
#10 26.62 Building wheels for collected packages: psutil
#10 26.63   Building wheel for psutil (setup.py): started
#10 27.03   Building wheel for psutil (setup.py): finished with status 'error'
#10 27.08   error: subprocess-exited-with-error
#10 27.08
#10 27.08   × python setup.py bdist_wheel did not run successfully.
#10 27.08   │ exit code: 1
#10 27.08   ╰─> [43 lines of output]
#10 27.08       running bdist_wheel
#10 27.08       running build
#10 27.08       running build_py
#10 27.08       creating build
#10 27.08       creating build/lib.linux-x86_64-cpython-311
#10 27.08       creating build/lib.linux-x86_64-cpython-311/psutil
#10 27.08       copying psutil/_common.py -> build/lib.linux-x86_64-cpython-311/psutil
#10 27.08       copying psutil/_psposix.py -> build/lib.linux-x86_64-cpython-311/psutil
#10 27.08       copying psutil/__init__.py -> build/lib.linux-x86_64-cpython-311/psutil
#10 27.08       copying psutil/_pslinux.py -> build/lib.linux-x86_64-cpython-311/psutil
#10 27.08       copying psutil/_psaix.py -> build/lib.linux-x86_64-cpython-311/psutil
#10 27.08       copying psutil/_compat.py -> build/lib.linux-x86_64-cpython-311/psutil
#10 27.08       copying psutil/_pssunos.py -> build/lib.linux-x86_64-cpython-311/psutil
#10 27.08       copying psutil/_pswindows.py -> build/lib.linux-x86_64-cpython-311/psutil
#10 27.08       copying psutil/_psosx.py -> build/lib.linux-x86_64-cpython-311/psutil
#10 27.08       copying psutil/_psbsd.py -> build/lib.linux-x86_64-cpython-311/psutil
#10 27.08       creating build/lib.linux-x86_64-cpython-311/psutil/tests
#10 27.08       copying psutil/tests/test_misc.py -> build/lib.linux-x86_64-cpython-311/psutil/tests
#10 27.08       copying psutil/tests/runner.py -> build/lib.linux-x86_64-cpython-311/psutil/tests
#10 27.08       copying psutil/tests/test_sunos.py -> build/lib.linux-x86_64-cpython-311/psutil/tests
#10 27.08       copying psutil/tests/test_aix.py -> build/lib.linux-x86_64-cpython-311/psutil/tests
#10 27.08       copying psutil/tests/test_osx.py -> build/lib.linux-x86_64-cpython-311/psutil/tests
#10 27.08       copying psutil/tests/test_memleaks.py -> build/lib.linux-x86_64-cpython-311/psutil/tests
#10 27.08       copying psutil/tests/test_process.py -> build/lib.linux-x86_64-cpython-311/psutil/tests
#10 27.08       copying psutil/tests/__init__.py -> build/lib.linux-x86_64-cpython-311/psutil/tests
#10 27.08       copying psutil/tests/test_windows.py -> build/lib.linux-x86_64-cpython-311/psutil/tests
#10 27.08       copying psutil/tests/test_bsd.py -> build/lib.linux-x86_64-cpython-311/psutil/tests
#10 27.08       copying psutil/tests/test_connections.py -> build/lib.linux-x86_64-cpython-311/psutil/tests
#10 27.08       copying psutil/tests/test_system.py -> build/lib.linux-x86_64-cpython-311/psutil/tests
#10 27.08       copying psutil/tests/__main__.py -> build/lib.linux-x86_64-cpython-311/psutil/tests
#10 27.08       copying psutil/tests/test_testutils.py -> build/lib.linux-x86_64-cpython-311/psutil/tests
#10 27.08       copying psutil/tests/test_unicode.py -> build/lib.linux-x86_64-cpython-311/psutil/tests
#10 27.08       copying psutil/tests/test_contracts.py -> build/lib.linux-x86_64-cpython-311/psutil/tests
#10 27.08       copying psutil/tests/test_posix.py -> build/lib.linux-x86_64-cpython-311/psutil/tests
#10 27.08       copying psutil/tests/test_linux.py -> build/lib.linux-x86_64-cpython-311/psutil/tests
#10 27.08       running build_ext
#10 27.08       building 'psutil._psutil_linux' extension
#10 27.08       creating build/temp.linux-x86_64-cpython-311
#10 27.08       creating build/temp.linux-x86_64-cpython-311/psutil
#10 27.08       gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DPSUTIL_POSIX=1 -DPSUTIL_SIZEOF_PID_T=4 -DPSUTIL_VERSION=590 -DPSUTIL_LINUX=1 -DPSUTIL_ETHTOOL_MISSING_TYPES=1 -I/usr/local/include/python3.11 -c psutil/_psutil_common.c -o build/temp.linux-x86_64-cpython-311/psutil/_psutil_common.o
#10 27.08       C compiler or Python headers are not installed on this system. Try to run:
#10 27.08       sudo apt-get install gcc python3-dev
#10 27.08       error: command 'gcc' failed: No such file or directory
#10 27.08       [end of output]
#10 27.08
#10 27.08   note: This error originates from a subprocess, and is likely not a problem with pip.
#10 27.08   ERROR: Failed building wheel for psutil
#10 27.08   Running setup.py clean for psutil
#10 27.41 Failed to build psutil
#10 27.41 ERROR: Could not build wheels for psutil, which is required to install pyproject.toml-based projects
#10 27.51
#10 27.51 [notice] A new release of pip is available: 23.2.1 -> 24.0
#10 27.51 [notice] To update, run: pip install --upgrade pip
#10 27.78 Traceback (most recent call last):
#10 27.78   File "<string>", line 1, in <module>
#10 27.78   File "/usr/local/lib/python3.11/site-packages/mlflow/models/container/__init__.py", line 92, in _install_pyfunc_deps
#10 27.78     activate_cmd = _install_model_dependencies_to_env(model_path, env_manager) if model_path else []
#10 27.78                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#10 27.78   File "/usr/local/lib/python3.11/site-packages/mlflow/models/container/__init__.py", line 144, in _install_model_dependencies_to_env
#10 27.78     raise Exception("Failed to install model dependencies.")
#10 27.78 Exception: Failed to install model dependencies.
#10 ERROR: process "/bin/sh -c python -c \"from mlflow.models import container as C; C._install_pyfunc_deps('/opt/ml/model', install_mlflow=False, enable_mlserver=False, env_manager='local');\"" did not complete successfully: exit code: 1
------
 > [6/8] RUN python -c "from mlflow.models import container as C; C._install_pyfunc_deps('/opt/ml/model', install_mlflow=False, enable_mlserver=False, env_manager='local');":
27.51 [notice] A new release of pip is available: 23.2.1 -> 24.0
27.51 [notice] To update, run: pip install --upgrade pip
27.78 Traceback (most recent call last):
27.78   File "<string>", line 1, in <module>
27.78   File "/usr/local/lib/python3.11/site-packages/mlflow/models/container/__init__.py", line 92, in _install_pyfunc_deps
27.78     activate_cmd = _install_model_dependencies_to_env(model_path, env_manager) if model_path else []
27.78                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
27.78   File "/usr/local/lib/python3.11/site-packages/mlflow/models/container/__init__.py", line 144, in _install_model_dependencies_to_env
27.78     raise Exception("Failed to install model dependencies.")
27.78 Exception: Failed to install model dependencies.
------
Dockerfile:15
--------------------
  13 |     # Copy model to image and install dependencies
  14 |     COPY model_dir/best_estimator /opt/ml/model
  15 | >>> RUN python -c "from mlflow.models import container as C; C._install_pyfunc_deps('/opt/ml/model', install_mlflow=False, enable_mlserver=False, env_manager='local');"
  16 |
  17 |     ENV MLFLOW_DISABLE_ENV_CREATION=True
--------------------
ERROR: failed to solve: process "/bin/sh -c python -c \"from mlflow.models import container as C; C._install_pyfunc_deps('/opt/ml/model', install_mlflow=False, enable_mlserver=False, env_manager='local');\"" did not complete successfully: exit code: 1
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "D:\Programs\anaconda3\Scripts\mlflow.exe\__main__.py", line 7, in <module>
  File "D:\Programs\anaconda3\Lib\site-packages\click\core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\anaconda3\Lib\site-packages\click\core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "D:\Programs\anaconda3\Lib\site-packages\click\core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\anaconda3\Lib\site-packages\click\core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\anaconda3\Lib\site-packages\click\core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\anaconda3\Lib\site-packages\click\core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\anaconda3\Lib\site-packages\mlflow\models\cli.py", line 274, in build_docker
    python_api.build_docker(**kwargs)
  File "D:\Programs\anaconda3\Lib\site-packages\mlflow\models\python_api.py", line 79, in build_docker
    get_flavor_backend(model_uri, docker_build=True, env_manager=env_manager).build_image(
  File "D:\Programs\anaconda3\Lib\site-packages\mlflow\pyfunc\backend.py", line 359, in build_image
    docker_utils.build_image_from_context(context_dir=cwd, image_name=image_name)
  File "D:\Programs\anaconda3\Lib\site-packages\mlflow\models\docker_utils.py", line 235, in build_image_from_context
    raise RuntimeError("Docker build failed.")
RuntimeError: Docker build failed.
linux windows docker docker-compose mlflow
1个回答
0
投票

虽然社区对在没有评论的情况下否决该问题非常无助,但我已经得出了以下解决方案,该解决方案似乎是 MLflow 的任何实际构建所必需的,但在其论坛或任何其他论坛上没有记录我见过。希望这对其他人有帮助。建议的构建命令在构建过程中无法安装 gcc,并且无法为 psutils 构建 pip 轮:

mlflow models build-docker --model-uri "runs:/some-run-uuid/my-model" --name "my-image-name"

相反,最好让 mlflow 生成一个 dockerfile,编辑它,然后单独构建:

run_command(f"mlflow models generate-dockerfile --model-uri {logged_model} --output-directory {model_dir}")
    
with open(model_dir / 'Dockerfile', 'r') as f:
    lines = f.readlines()
    for ind, line in enumerate(lines):
        if line.startswith('RUN apt-get -y update && apt-get install -y --no-install-recommends '):
            lines[ind] = line.split('\n')[0] + ' -y gcc g++\n'
    with open(model_dir / 'Dockerfile', 'w') as f:
        f.writelines(lines)
    
run_command(f"docker build -t {image_name} {model_dir}")
© www.soinside.com 2019 - 2024. All rights reserved.