不能 运行 MLflow 基于网络的用户界面
Can't run MLflow web-based user interface
我已经安装了 MLflow on Ubuntu Server 18.04 LTS, in a virtual environment (Python 3), using its Quickstart documentation:
$ python3 -m venv mlflow
$ source /home/emre/mlflow/bin/activate
$ pip install mlflow
在安装期间给出了以下输出:
Collecting mlflow
Downloading https://files.pythonhosted.org/packages/e8/b3/cf358e182be34a62fcd6843e5df793f278bd9d24f78f565509cb927c6a22/mlflow-0.1.0.tar.gz (4.3MB)
100% |████████████████████████████████| 4.3MB 323kB/s
Collecting Flask (from mlflow)
Downloading https://files.pythonhosted.org/packages/7f/e7/08578774ed4536d3242b14dacb4696386634607af824ea997202cd0edb4b/Flask-1.0.2-py2.py3-none-any.whl (91kB)
100% |████████████████████████████████| 92kB 9.4MB/s
Collecting awscli (from mlflow)
Downloading https://files.pythonhosted.org/packages/ba/32/d6d254f6ccc2ed21f02d81f38709ff06feca9cbdb2e68ea90635fa483a73/awscli-1.15.46-py2.py3-none-any.whl (1.3MB)
100% |████████████████████████████████| 1.3MB 1.0MB/s
Collecting boto3 (from mlflow)
Downloading https://files.pythonhosted.org/packages/24/e0/a98898b94d8093bbd8fd4576fb2e89620adac1e24a2bfc28d11c4ce29a5b/boto3-1.7.46-py2.py3-none-any.whl (128kB)
100% |████████████████████████████████| 133kB 8.8MB/s
Collecting click>=6.7 (from mlflow)
Downloading https://files.pythonhosted.org/packages/34/c1/8806f99713ddb993c5366c362b2f908f18269f8d792aff1abfd700775a77/click-6.7-py2.py3-none-any.whl (71kB)
100% |████████████████████████████████| 71kB 9.3MB/s
Collecting databricks-cli (from mlflow)
Downloading https://files.pythonhosted.org/packages/58/78/4bda6f29a091ab7b0ad29efdba2491e5d0b56bd09d608857e6f0b799be48/databricks-cli-0.7.2.tar.gz
Collecting gitpython (from mlflow)
Downloading https://files.pythonhosted.org/packages/ac/c9/96d7c86c623cb065976e58c0f4898170507724d6b4be872891d763d686f4/GitPython-2.1.10-py2.py3-none-any.whl (449kB)
100% |████████████████████████████████| 450kB 2.9MB/s
Collecting numpy (from mlflow)
Downloading https://files.pythonhosted.org/packages/68/1e/116ad560de97694e2d0c1843a7a0075cc9f49e922454d32f49a80eb6f1f2/numpy-1.14.5-cp36-cp36m-manylinux1_x86_64.whl (12.2MB)
100% |████████████████████████████████| 12.2MB 110kB/s
Collecting pandas (from mlflow)
Downloading https://files.pythonhosted.org/packages/57/eb/6ab533ea8e35e7dd159af6922ac1123d4565d89f3926ad9a6aa46530978f/pandas-0.23.1-cp36-cp36m-manylinux1_x86_64.whl (11.8MB)
100% |████████████████████████████████| 11.8MB 116kB/s
Collecting protobuf (from mlflow)
Downloading https://files.pythonhosted.org/packages/fc/f0/db040681187496d10ac50ad167a8fd5f953d115b16a7085e19193a6abfd2/protobuf-3.6.0-cp36-cp36m-manylinux1_x86_64.whl (7.1MB)
100% |████████████████████████████████| 7.1MB 177kB/s
Collecting pygal (from mlflow)
Downloading https://files.pythonhosted.org/packages/5f/b7/201c9254ac0d2b8ffa3bb2d528d23a4130876d9ba90bc28e99633f323f17/pygal-2.4.0-py2.py3-none-any.whl (127kB)
100% |████████████████████████████████| 133kB 9.7MB/s
Collecting python-dateutil (from mlflow)
Downloading https://files.pythonhosted.org/packages/cf/f5/af2b09c957ace60dcfac112b669c45c8c97e32f94aa8b56da4c6d1682825/python_dateutil-2.7.3-py2.py3-none-any.whl (211kB)
100% |████████████████████████████████| 215kB 6.0MB/s
Collecting pyyaml (from mlflow)
Downloading https://files.pythonhosted.org/packages/10/7d/6efe0bd69580fecd40adf47ebaf8d807238308ccb851f0549881fa7605aa/PyYAML-4.1.tar.gz (153kB)
100% |████████████████████████████████| 153kB 7.8MB/s
Collecting querystring_parser (from mlflow)
Downloading https://files.pythonhosted.org/packages/57/64/3086a9a991ff3aca7b769f5b0b51ff8445a06337ae2c58f215bcee48f527/querystring_parser-1.2.3.tar.gz
Collecting requests>=2.17.3 (from mlflow)
Downloading https://files.pythonhosted.org/packages/65/47/7e02164a2a3db50ed6d8a6ab1d6d60b69c4c3fdf57a284257925dfc12bda/requests-2.19.1-py2.py3-none-any.whl (91kB)
100% |████████████████████████████████| 92kB 8.2MB/s
Collecting scikit-learn (from mlflow)
Downloading https://files.pythonhosted.org/packages/3d/2d/9fbc7baa5f44bc9e88ffb7ed32721b879bfa416573e85031e16f52569bc9/scikit_learn-0.19.1-cp36-cp36m-manylinux1_x86_64.whl (12.4MB)
100% |████████████████████████████████| 12.4MB 108kB/s
Collecting scipy (from mlflow)
Downloading https://files.pythonhosted.org/packages/a8/0b/f163da98d3a01b3e0ef1cab8dd2123c34aee2bafbb1c5bffa354cc8a1730/scipy-1.1.0-cp36-cp36m-manylinux1_x86_64.whl (31.2MB)
100% |████████████████████████████████| 31.2MB 42kB/s
Collecting six>=1.10.0 (from mlflow)
Downloading https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl
Collecting uuid (from mlflow)
Downloading https://files.pythonhosted.org/packages/ce/63/f42f5aa951ebf2c8dac81f77a8edcc1c218640a2a35a03b9ff2d4aa64c3d/uuid-1.30.tar.gz
Collecting zipstream (from mlflow)
Downloading https://files.pythonhosted.org/packages/1a/a4/58f0709cef999db1539960aa2ae77100dc800ebb8abb7afc97a1398dfb2f/zipstream-1.1.4.tar.gz
Collecting itsdangerous>=0.24 (from Flask->mlflow)
Downloading https://files.pythonhosted.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz (46kB)
100% |████████████████████████████████| 51kB 10.4MB/s
Collecting Werkzeug>=0.14 (from Flask->mlflow)
Downloading https://files.pythonhosted.org/packages/20/c4/12e3e56473e52375aa29c4764e70d1b8f3efa6682bef8d0aae04fe335243/Werkzeug-0.14.1-py2.py3-none-any.whl (322kB)
100% |████████████████████████████████| 327kB 4.0MB/s
Collecting Jinja2>=2.10 (from Flask->mlflow)
Downloading https://files.pythonhosted.org/packages/7f/ff/ae64bacdfc95f27a016a7bed8e8686763ba4d277a78ca76f32659220a731/Jinja2-2.10-py2.py3-none-any.whl (126kB)
100% |████████████████████████████████| 133kB 8.2MB/s
Collecting rsa<=3.5.0,>=3.1.2 (from awscli->mlflow)
Downloading https://files.pythonhosted.org/packages/e1/ae/baedc9cb175552e95f3395c43055a6a5e125ae4d48a1d7a924baca83e92e/rsa-3.4.2-py2.py3-none-any.whl (46kB)
100% |████████████████████████████████| 51kB 10.5MB/s
Collecting botocore==1.10.46 (from awscli->mlflow)
Downloading https://files.pythonhosted.org/packages/b4/04/ddaad5574f70a539d106e8d53b4685e3de4387de7a16884a95459f8c7691/botocore-1.10.46-py2.py3-none-any.whl (4.4MB)
100% |████████████████████████████████| 4.4MB 314kB/s
Collecting s3transfer<0.2.0,>=0.1.12 (from awscli->mlflow)
Downloading https://files.pythonhosted.org/packages/d7/14/2a0004d487464d120c9fb85313a75cd3d71a7506955be458eebfe19a6b1d/s3transfer-0.1.13-py2.py3-none-any.whl (59kB)
100% |████████████████████████████████| 61kB 10.6MB/s
Collecting colorama<=0.3.9,>=0.2.5 (from awscli->mlflow)
Downloading https://files.pythonhosted.org/packages/db/c8/7dcf9dbcb22429512708fe3a547f8b6101c0d02137acbd892505aee57adf/colorama-0.3.9-py2.py3-none-any.whl
Collecting docutils>=0.10 (from awscli->mlflow)
Downloading https://files.pythonhosted.org/packages/36/fa/08e9e6e0e3cbd1d362c3bbee8d01d0aedb2155c4ac112b19ef3cae8eed8d/docutils-0.14-py3-none-any.whl (543kB)
100% |████████████████████████████████| 552kB 2.5MB/s
Collecting jmespath<1.0.0,>=0.7.1 (from boto3->mlflow)
Downloading https://files.pythonhosted.org/packages/b7/31/05c8d001f7f87f0f07289a5fc0fc3832e9a57f2dbd4d3b0fee70e0d51365/jmespath-0.9.3-py2.py3-none-any.whl
Collecting configparser>=0.3.5 (from databricks-cli->mlflow)
Downloading https://files.pythonhosted.org/packages/7c/69/c2ce7e91c89dc073eb1aa74c0621c3eefbffe8216b3f9af9d3885265c01c/configparser-3.5.0.tar.gz
Collecting tabulate>=0.7.7 (from databricks-cli->mlflow)
Downloading https://files.pythonhosted.org/packages/12/c2/11d6845db5edf1295bc08b2f488cf5937806586afe42936c3f34c097ebdc/tabulate-0.8.2.tar.gz (45kB)
100% |████████████████████████████████| 51kB 7.9MB/s
Collecting gitdb2>=2.0.0 (from gitpython->mlflow)
Downloading https://files.pythonhosted.org/packages/e0/95/c772c13b7c5740ec1a0924250e6defbf5dfdaee76a50d1c47f9c51f1cabb/gitdb2-2.0.3-py2.py3-none-any.whl (63kB)
100% |████████████████████████████████| 71kB 11.2MB/s
Collecting pytz>=2011k (from pandas->mlflow)
Downloading https://files.pythonhosted.org/packages/dc/83/15f7833b70d3e067ca91467ca245bae0f6fe56ddc7451aa0dc5606b120f2/pytz-2018.4-py2.py3-none-any.whl (510kB)
100% |████████████████████████████████| 512kB 421kB/s
Requirement already satisfied: setuptools in ./mlflow/lib/python3.6/site-packages (from protobuf->mlflow)
Collecting chardet<3.1.0,>=3.0.2 (from requests>=2.17.3->mlflow)
Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB)
100% |████████████████████████████████| 143kB 8.7MB/s
Collecting idna<2.8,>=2.5 (from requests>=2.17.3->mlflow)
Downloading https://files.pythonhosted.org/packages/4b/2a/0276479a4b3caeb8a8c1af2f8e4355746a97fab05a372e4a2c6a6b876165/idna-2.7-py2.py3-none-any.whl (58kB)
100% |████████████████████████████████| 61kB 10.3MB/s
Collecting urllib3<1.24,>=1.21.1 (from requests>=2.17.3->mlflow)
Downloading https://files.pythonhosted.org/packages/bd/c9/6fdd990019071a4a32a5e7cb78a1d92c53851ef4f56f62a3486e6a7d8ffb/urllib3-1.23-py2.py3-none-any.whl (133kB)
100% |████████████████████████████████| 143kB 8.3MB/s
Collecting certifi>=2017.4.17 (from requests>=2.17.3->mlflow)
Downloading https://files.pythonhosted.org/packages/7c/e6/92ad559b7192d846975fc916b65f667c7b8c3a32bea7372340bfe9a15fa5/certifi-2018.4.16-py2.py3-none-any.whl (150kB)
100% |████████████████████████████████| 153kB 8.0MB/s
Collecting MarkupSafe>=0.23 (from Jinja2>=2.10->Flask->mlflow)
Downloading https://files.pythonhosted.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz
Collecting pyasn1>=0.1.3 (from rsa<=3.5.0,>=3.1.2->awscli->mlflow)
Downloading https://files.pythonhosted.org/packages/a0/70/2c27740f08e477499ce19eefe05dbcae6f19fdc49e9e82ce4768be0643b9/pyasn1-0.4.3-py2.py3-none-any.whl (72kB)
100% |████████████████████████████████| 81kB 10.9MB/s
Collecting smmap2>=2.0.0 (from gitdb2>=2.0.0->gitpython->mlflow)
Downloading https://files.pythonhosted.org/packages/e3/59/4e22f692e65f5f9271252a8e63f04ce4ad561d4e06192478ee48dfac9611/smmap2-2.0.3-py2.py3-none-any.whl
Building wheels for collected packages: mlflow, databricks-cli, pyyaml, querystring-parser, uuid, zipstream, itsdangerous, configparser, tabulate, MarkupSafe
Running setup.py bdist_wheel for mlflow ... error
Complete output from command /home/emre/mlflow/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-s7vrp5z7/mlflow/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmp10fdrz2ypip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for mlflow
Running setup.py clean for mlflow
Running setup.py bdist_wheel for databricks-cli ... error
Complete output from command /home/emre/mlflow/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-s7vrp5z7/databricks-cli/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpy_2acqi3pip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for databricks-cli
Running setup.py clean for databricks-cli
Running setup.py bdist_wheel for pyyaml ... error
Complete output from command /home/emre/mlflow/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-s7vrp5z7/pyyaml/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmp4bs2fwrtpip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for pyyaml
Running setup.py clean for pyyaml
Running setup.py bdist_wheel for querystring-parser ... error
Complete output from command /home/emre/mlflow/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-s7vrp5z7/querystring-parser/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmp_cnm9w_tpip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for querystring-parser
Running setup.py clean for querystring-parser
Running setup.py bdist_wheel for uuid ... error
Complete output from command /home/emre/mlflow/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-s7vrp5z7/uuid/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpenr2igaxpip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for uuid
Running setup.py clean for uuid
Running setup.py bdist_wheel for zipstream ... error
Complete output from command /home/emre/mlflow/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-s7vrp5z7/zipstream/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpnzsjh5e2pip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for zipstream
Running setup.py clean for zipstream
Running setup.py bdist_wheel for itsdangerous ... error
Complete output from command /home/emre/mlflow/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-s7vrp5z7/itsdangerous/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmp7imi3zv2pip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for itsdangerous
Running setup.py clean for itsdangerous
Running setup.py bdist_wheel for configparser ... error
Complete output from command /home/emre/mlflow/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-s7vrp5z7/configparser/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpyk9qtmi1pip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for configparser
Running setup.py clean for configparser
Running setup.py bdist_wheel for tabulate ... error
Complete output from command /home/emre/mlflow/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-s7vrp5z7/tabulate/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpjim2qr00pip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for tabulate
Running setup.py clean for tabulate
Running setup.py bdist_wheel for MarkupSafe ... error
Complete output from command /home/emre/mlflow/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-s7vrp5z7/MarkupSafe/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpsdpdd8ulpip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for MarkupSafe
Running setup.py clean for MarkupSafe
Failed to build mlflow databricks-cli pyyaml querystring-parser uuid zipstream itsdangerous configparser tabulate MarkupSafe
Installing collected packages: click, itsdangerous, Werkzeug, MarkupSafe, Jinja2, Flask, pyasn1, rsa, jmespath, six, python-dateutil, docutils, botocore, s3transfer, colorama, pyyaml, awscli, boto3, configparser, chardet, idna, urllib3, certifi, requests, tabulate, databricks-cli, smmap2, gitdb2, gitpython, numpy, pytz, pandas, protobuf, pygal, querystring-parser, scikit-learn, scipy, uuid, zipstream, mlflow
Running setup.py install for itsdangerous ... done
Running setup.py install for MarkupSafe ... done
Running setup.py install for pyyaml ... done
Running setup.py install for configparser ... done
Running setup.py install for tabulate ... done
Running setup.py install for databricks-cli ... done
Running setup.py install for querystring-parser ... done
Running setup.py install for uuid ... done
Running setup.py install for zipstream ... done
Running setup.py install for mlflow ... done
Successfully installed Flask-1.0.2 Jinja2-2.10 MarkupSafe-1.0 Werkzeug-0.14.1 awscli-1.15.46 boto3-1.7.46 botocore-1.10.46 certifi-2018.4.16 chardet-3.0.4 click-6.7 colorama-0.3.9 configparser-3.5.0 databricks-cli-0.7.2 docutils-0.14 gitdb2-2.0.3 gitpython-2.1.10 idna-2.7 itsdangerous-0.24 jmespath-0.9.3 mlflow-0.1.0 numpy-1.14.5 pandas-0.23.1 protobuf-3.6.0 pyasn1-0.4.3 pygal-2.4.0 python-dateutil-2.7.3 pytz-2018.4 pyyaml-4.1 querystring-parser-1.2.3 requests-2.19.1 rsa-3.4.2 s3transfer-0.1.13 scikit-learn-0.19.1 scipy-1.1.0 six-1.11.0 smmap2-2.0.3 tabulate-0.8.2 urllib3-1.23 uuid-1.30 zipstream-1.1.4
之后我检查了以下没有给出任何错误:
import os
from mlflow import log_metric, log_param, log_artifact
但是当我尝试 运行 基于 Web 的用户界面时,出现以下错误:
$ mlflow ui
Traceback (most recent call last):
File "/home/emre/mlflow/lib/python3.6/site-packages/pkg_resources/__init__.py", line 574, in _build_master
ws.require(__requires__)
File "/home/emre/mlflow/lib/python3.6/site-packages/pkg_resources/__init__.py", line 892, in require
needed = self.resolve(parse_requirements(requirements))
File "/home/emre/mlflow/lib/python3.6/site-packages/pkg_resources/__init__.py", line 783, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (PyYAML 4.1 (/home/emre/mlflow/lib/python3.6/site-packages), Requirement.parse('PyYAML<=3.12,>=3.10'), {'awscli'})
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/emre/mlflow/bin/mlflow", line 6, in <module>
from pkg_resources import load_entry_point
File "/home/emre/mlflow/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3088, in <module>
@_call_aside
File "/home/emre/mlflow/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3072, in _call_aside
f(*args, **kwargs)
File "/home/emre/mlflow/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3101, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/home/emre/mlflow/lib/python3.6/site-packages/pkg_resources/__init__.py", line 576, in _build_master
return cls._build_from_requirements(__requires__)
File "/home/emre/mlflow/lib/python3.6/site-packages/pkg_resources/__init__.py", line 589, in _build_from_requirements
dists = ws.resolve(reqs, Environment())
File "/home/emre/mlflow/lib/python3.6/site-packages/pkg_resources/__init__.py", line 783, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (PyYAML 4.1 (/home/emre/mlflow/lib/python3.6/site-packages), Requirement.parse('PyYAML<=3.12,>=3.10'), {'awscli'})
有什么办法可以解决这个问题吗?
显然我必须在我的虚拟环境中安装 wheel
模块。我删除了虚拟环境,重新创建,然后安装了wheel
模块:
pip install wheel
之后 pip install mlflow
,以及 mlflow ui
都成功了。
我已经安装了 MLflow on Ubuntu Server 18.04 LTS, in a virtual environment (Python 3), using its Quickstart documentation:
$ python3 -m venv mlflow
$ source /home/emre/mlflow/bin/activate
$ pip install mlflow
在安装期间给出了以下输出:
Collecting mlflow
Downloading https://files.pythonhosted.org/packages/e8/b3/cf358e182be34a62fcd6843e5df793f278bd9d24f78f565509cb927c6a22/mlflow-0.1.0.tar.gz (4.3MB)
100% |████████████████████████████████| 4.3MB 323kB/s
Collecting Flask (from mlflow)
Downloading https://files.pythonhosted.org/packages/7f/e7/08578774ed4536d3242b14dacb4696386634607af824ea997202cd0edb4b/Flask-1.0.2-py2.py3-none-any.whl (91kB)
100% |████████████████████████████████| 92kB 9.4MB/s
Collecting awscli (from mlflow)
Downloading https://files.pythonhosted.org/packages/ba/32/d6d254f6ccc2ed21f02d81f38709ff06feca9cbdb2e68ea90635fa483a73/awscli-1.15.46-py2.py3-none-any.whl (1.3MB)
100% |████████████████████████████████| 1.3MB 1.0MB/s
Collecting boto3 (from mlflow)
Downloading https://files.pythonhosted.org/packages/24/e0/a98898b94d8093bbd8fd4576fb2e89620adac1e24a2bfc28d11c4ce29a5b/boto3-1.7.46-py2.py3-none-any.whl (128kB)
100% |████████████████████████████████| 133kB 8.8MB/s
Collecting click>=6.7 (from mlflow)
Downloading https://files.pythonhosted.org/packages/34/c1/8806f99713ddb993c5366c362b2f908f18269f8d792aff1abfd700775a77/click-6.7-py2.py3-none-any.whl (71kB)
100% |████████████████████████████████| 71kB 9.3MB/s
Collecting databricks-cli (from mlflow)
Downloading https://files.pythonhosted.org/packages/58/78/4bda6f29a091ab7b0ad29efdba2491e5d0b56bd09d608857e6f0b799be48/databricks-cli-0.7.2.tar.gz
Collecting gitpython (from mlflow)
Downloading https://files.pythonhosted.org/packages/ac/c9/96d7c86c623cb065976e58c0f4898170507724d6b4be872891d763d686f4/GitPython-2.1.10-py2.py3-none-any.whl (449kB)
100% |████████████████████████████████| 450kB 2.9MB/s
Collecting numpy (from mlflow)
Downloading https://files.pythonhosted.org/packages/68/1e/116ad560de97694e2d0c1843a7a0075cc9f49e922454d32f49a80eb6f1f2/numpy-1.14.5-cp36-cp36m-manylinux1_x86_64.whl (12.2MB)
100% |████████████████████████████████| 12.2MB 110kB/s
Collecting pandas (from mlflow)
Downloading https://files.pythonhosted.org/packages/57/eb/6ab533ea8e35e7dd159af6922ac1123d4565d89f3926ad9a6aa46530978f/pandas-0.23.1-cp36-cp36m-manylinux1_x86_64.whl (11.8MB)
100% |████████████████████████████████| 11.8MB 116kB/s
Collecting protobuf (from mlflow)
Downloading https://files.pythonhosted.org/packages/fc/f0/db040681187496d10ac50ad167a8fd5f953d115b16a7085e19193a6abfd2/protobuf-3.6.0-cp36-cp36m-manylinux1_x86_64.whl (7.1MB)
100% |████████████████████████████████| 7.1MB 177kB/s
Collecting pygal (from mlflow)
Downloading https://files.pythonhosted.org/packages/5f/b7/201c9254ac0d2b8ffa3bb2d528d23a4130876d9ba90bc28e99633f323f17/pygal-2.4.0-py2.py3-none-any.whl (127kB)
100% |████████████████████████████████| 133kB 9.7MB/s
Collecting python-dateutil (from mlflow)
Downloading https://files.pythonhosted.org/packages/cf/f5/af2b09c957ace60dcfac112b669c45c8c97e32f94aa8b56da4c6d1682825/python_dateutil-2.7.3-py2.py3-none-any.whl (211kB)
100% |████████████████████████████████| 215kB 6.0MB/s
Collecting pyyaml (from mlflow)
Downloading https://files.pythonhosted.org/packages/10/7d/6efe0bd69580fecd40adf47ebaf8d807238308ccb851f0549881fa7605aa/PyYAML-4.1.tar.gz (153kB)
100% |████████████████████████████████| 153kB 7.8MB/s
Collecting querystring_parser (from mlflow)
Downloading https://files.pythonhosted.org/packages/57/64/3086a9a991ff3aca7b769f5b0b51ff8445a06337ae2c58f215bcee48f527/querystring_parser-1.2.3.tar.gz
Collecting requests>=2.17.3 (from mlflow)
Downloading https://files.pythonhosted.org/packages/65/47/7e02164a2a3db50ed6d8a6ab1d6d60b69c4c3fdf57a284257925dfc12bda/requests-2.19.1-py2.py3-none-any.whl (91kB)
100% |████████████████████████████████| 92kB 8.2MB/s
Collecting scikit-learn (from mlflow)
Downloading https://files.pythonhosted.org/packages/3d/2d/9fbc7baa5f44bc9e88ffb7ed32721b879bfa416573e85031e16f52569bc9/scikit_learn-0.19.1-cp36-cp36m-manylinux1_x86_64.whl (12.4MB)
100% |████████████████████████████████| 12.4MB 108kB/s
Collecting scipy (from mlflow)
Downloading https://files.pythonhosted.org/packages/a8/0b/f163da98d3a01b3e0ef1cab8dd2123c34aee2bafbb1c5bffa354cc8a1730/scipy-1.1.0-cp36-cp36m-manylinux1_x86_64.whl (31.2MB)
100% |████████████████████████████████| 31.2MB 42kB/s
Collecting six>=1.10.0 (from mlflow)
Downloading https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl
Collecting uuid (from mlflow)
Downloading https://files.pythonhosted.org/packages/ce/63/f42f5aa951ebf2c8dac81f77a8edcc1c218640a2a35a03b9ff2d4aa64c3d/uuid-1.30.tar.gz
Collecting zipstream (from mlflow)
Downloading https://files.pythonhosted.org/packages/1a/a4/58f0709cef999db1539960aa2ae77100dc800ebb8abb7afc97a1398dfb2f/zipstream-1.1.4.tar.gz
Collecting itsdangerous>=0.24 (from Flask->mlflow)
Downloading https://files.pythonhosted.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz (46kB)
100% |████████████████████████████████| 51kB 10.4MB/s
Collecting Werkzeug>=0.14 (from Flask->mlflow)
Downloading https://files.pythonhosted.org/packages/20/c4/12e3e56473e52375aa29c4764e70d1b8f3efa6682bef8d0aae04fe335243/Werkzeug-0.14.1-py2.py3-none-any.whl (322kB)
100% |████████████████████████████████| 327kB 4.0MB/s
Collecting Jinja2>=2.10 (from Flask->mlflow)
Downloading https://files.pythonhosted.org/packages/7f/ff/ae64bacdfc95f27a016a7bed8e8686763ba4d277a78ca76f32659220a731/Jinja2-2.10-py2.py3-none-any.whl (126kB)
100% |████████████████████████████████| 133kB 8.2MB/s
Collecting rsa<=3.5.0,>=3.1.2 (from awscli->mlflow)
Downloading https://files.pythonhosted.org/packages/e1/ae/baedc9cb175552e95f3395c43055a6a5e125ae4d48a1d7a924baca83e92e/rsa-3.4.2-py2.py3-none-any.whl (46kB)
100% |████████████████████████████████| 51kB 10.5MB/s
Collecting botocore==1.10.46 (from awscli->mlflow)
Downloading https://files.pythonhosted.org/packages/b4/04/ddaad5574f70a539d106e8d53b4685e3de4387de7a16884a95459f8c7691/botocore-1.10.46-py2.py3-none-any.whl (4.4MB)
100% |████████████████████████████████| 4.4MB 314kB/s
Collecting s3transfer<0.2.0,>=0.1.12 (from awscli->mlflow)
Downloading https://files.pythonhosted.org/packages/d7/14/2a0004d487464d120c9fb85313a75cd3d71a7506955be458eebfe19a6b1d/s3transfer-0.1.13-py2.py3-none-any.whl (59kB)
100% |████████████████████████████████| 61kB 10.6MB/s
Collecting colorama<=0.3.9,>=0.2.5 (from awscli->mlflow)
Downloading https://files.pythonhosted.org/packages/db/c8/7dcf9dbcb22429512708fe3a547f8b6101c0d02137acbd892505aee57adf/colorama-0.3.9-py2.py3-none-any.whl
Collecting docutils>=0.10 (from awscli->mlflow)
Downloading https://files.pythonhosted.org/packages/36/fa/08e9e6e0e3cbd1d362c3bbee8d01d0aedb2155c4ac112b19ef3cae8eed8d/docutils-0.14-py3-none-any.whl (543kB)
100% |████████████████████████████████| 552kB 2.5MB/s
Collecting jmespath<1.0.0,>=0.7.1 (from boto3->mlflow)
Downloading https://files.pythonhosted.org/packages/b7/31/05c8d001f7f87f0f07289a5fc0fc3832e9a57f2dbd4d3b0fee70e0d51365/jmespath-0.9.3-py2.py3-none-any.whl
Collecting configparser>=0.3.5 (from databricks-cli->mlflow)
Downloading https://files.pythonhosted.org/packages/7c/69/c2ce7e91c89dc073eb1aa74c0621c3eefbffe8216b3f9af9d3885265c01c/configparser-3.5.0.tar.gz
Collecting tabulate>=0.7.7 (from databricks-cli->mlflow)
Downloading https://files.pythonhosted.org/packages/12/c2/11d6845db5edf1295bc08b2f488cf5937806586afe42936c3f34c097ebdc/tabulate-0.8.2.tar.gz (45kB)
100% |████████████████████████████████| 51kB 7.9MB/s
Collecting gitdb2>=2.0.0 (from gitpython->mlflow)
Downloading https://files.pythonhosted.org/packages/e0/95/c772c13b7c5740ec1a0924250e6defbf5dfdaee76a50d1c47f9c51f1cabb/gitdb2-2.0.3-py2.py3-none-any.whl (63kB)
100% |████████████████████████████████| 71kB 11.2MB/s
Collecting pytz>=2011k (from pandas->mlflow)
Downloading https://files.pythonhosted.org/packages/dc/83/15f7833b70d3e067ca91467ca245bae0f6fe56ddc7451aa0dc5606b120f2/pytz-2018.4-py2.py3-none-any.whl (510kB)
100% |████████████████████████████████| 512kB 421kB/s
Requirement already satisfied: setuptools in ./mlflow/lib/python3.6/site-packages (from protobuf->mlflow)
Collecting chardet<3.1.0,>=3.0.2 (from requests>=2.17.3->mlflow)
Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB)
100% |████████████████████████████████| 143kB 8.7MB/s
Collecting idna<2.8,>=2.5 (from requests>=2.17.3->mlflow)
Downloading https://files.pythonhosted.org/packages/4b/2a/0276479a4b3caeb8a8c1af2f8e4355746a97fab05a372e4a2c6a6b876165/idna-2.7-py2.py3-none-any.whl (58kB)
100% |████████████████████████████████| 61kB 10.3MB/s
Collecting urllib3<1.24,>=1.21.1 (from requests>=2.17.3->mlflow)
Downloading https://files.pythonhosted.org/packages/bd/c9/6fdd990019071a4a32a5e7cb78a1d92c53851ef4f56f62a3486e6a7d8ffb/urllib3-1.23-py2.py3-none-any.whl (133kB)
100% |████████████████████████████████| 143kB 8.3MB/s
Collecting certifi>=2017.4.17 (from requests>=2.17.3->mlflow)
Downloading https://files.pythonhosted.org/packages/7c/e6/92ad559b7192d846975fc916b65f667c7b8c3a32bea7372340bfe9a15fa5/certifi-2018.4.16-py2.py3-none-any.whl (150kB)
100% |████████████████████████████████| 153kB 8.0MB/s
Collecting MarkupSafe>=0.23 (from Jinja2>=2.10->Flask->mlflow)
Downloading https://files.pythonhosted.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz
Collecting pyasn1>=0.1.3 (from rsa<=3.5.0,>=3.1.2->awscli->mlflow)
Downloading https://files.pythonhosted.org/packages/a0/70/2c27740f08e477499ce19eefe05dbcae6f19fdc49e9e82ce4768be0643b9/pyasn1-0.4.3-py2.py3-none-any.whl (72kB)
100% |████████████████████████████████| 81kB 10.9MB/s
Collecting smmap2>=2.0.0 (from gitdb2>=2.0.0->gitpython->mlflow)
Downloading https://files.pythonhosted.org/packages/e3/59/4e22f692e65f5f9271252a8e63f04ce4ad561d4e06192478ee48dfac9611/smmap2-2.0.3-py2.py3-none-any.whl
Building wheels for collected packages: mlflow, databricks-cli, pyyaml, querystring-parser, uuid, zipstream, itsdangerous, configparser, tabulate, MarkupSafe
Running setup.py bdist_wheel for mlflow ... error
Complete output from command /home/emre/mlflow/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-s7vrp5z7/mlflow/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmp10fdrz2ypip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for mlflow
Running setup.py clean for mlflow
Running setup.py bdist_wheel for databricks-cli ... error
Complete output from command /home/emre/mlflow/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-s7vrp5z7/databricks-cli/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpy_2acqi3pip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for databricks-cli
Running setup.py clean for databricks-cli
Running setup.py bdist_wheel for pyyaml ... error
Complete output from command /home/emre/mlflow/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-s7vrp5z7/pyyaml/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmp4bs2fwrtpip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for pyyaml
Running setup.py clean for pyyaml
Running setup.py bdist_wheel for querystring-parser ... error
Complete output from command /home/emre/mlflow/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-s7vrp5z7/querystring-parser/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmp_cnm9w_tpip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for querystring-parser
Running setup.py clean for querystring-parser
Running setup.py bdist_wheel for uuid ... error
Complete output from command /home/emre/mlflow/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-s7vrp5z7/uuid/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpenr2igaxpip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for uuid
Running setup.py clean for uuid
Running setup.py bdist_wheel for zipstream ... error
Complete output from command /home/emre/mlflow/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-s7vrp5z7/zipstream/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpnzsjh5e2pip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for zipstream
Running setup.py clean for zipstream
Running setup.py bdist_wheel for itsdangerous ... error
Complete output from command /home/emre/mlflow/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-s7vrp5z7/itsdangerous/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmp7imi3zv2pip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for itsdangerous
Running setup.py clean for itsdangerous
Running setup.py bdist_wheel for configparser ... error
Complete output from command /home/emre/mlflow/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-s7vrp5z7/configparser/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpyk9qtmi1pip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for configparser
Running setup.py clean for configparser
Running setup.py bdist_wheel for tabulate ... error
Complete output from command /home/emre/mlflow/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-s7vrp5z7/tabulate/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpjim2qr00pip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for tabulate
Running setup.py clean for tabulate
Running setup.py bdist_wheel for MarkupSafe ... error
Complete output from command /home/emre/mlflow/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-s7vrp5z7/MarkupSafe/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpsdpdd8ulpip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for MarkupSafe
Running setup.py clean for MarkupSafe
Failed to build mlflow databricks-cli pyyaml querystring-parser uuid zipstream itsdangerous configparser tabulate MarkupSafe
Installing collected packages: click, itsdangerous, Werkzeug, MarkupSafe, Jinja2, Flask, pyasn1, rsa, jmespath, six, python-dateutil, docutils, botocore, s3transfer, colorama, pyyaml, awscli, boto3, configparser, chardet, idna, urllib3, certifi, requests, tabulate, databricks-cli, smmap2, gitdb2, gitpython, numpy, pytz, pandas, protobuf, pygal, querystring-parser, scikit-learn, scipy, uuid, zipstream, mlflow
Running setup.py install for itsdangerous ... done
Running setup.py install for MarkupSafe ... done
Running setup.py install for pyyaml ... done
Running setup.py install for configparser ... done
Running setup.py install for tabulate ... done
Running setup.py install for databricks-cli ... done
Running setup.py install for querystring-parser ... done
Running setup.py install for uuid ... done
Running setup.py install for zipstream ... done
Running setup.py install for mlflow ... done
Successfully installed Flask-1.0.2 Jinja2-2.10 MarkupSafe-1.0 Werkzeug-0.14.1 awscli-1.15.46 boto3-1.7.46 botocore-1.10.46 certifi-2018.4.16 chardet-3.0.4 click-6.7 colorama-0.3.9 configparser-3.5.0 databricks-cli-0.7.2 docutils-0.14 gitdb2-2.0.3 gitpython-2.1.10 idna-2.7 itsdangerous-0.24 jmespath-0.9.3 mlflow-0.1.0 numpy-1.14.5 pandas-0.23.1 protobuf-3.6.0 pyasn1-0.4.3 pygal-2.4.0 python-dateutil-2.7.3 pytz-2018.4 pyyaml-4.1 querystring-parser-1.2.3 requests-2.19.1 rsa-3.4.2 s3transfer-0.1.13 scikit-learn-0.19.1 scipy-1.1.0 six-1.11.0 smmap2-2.0.3 tabulate-0.8.2 urllib3-1.23 uuid-1.30 zipstream-1.1.4
之后我检查了以下没有给出任何错误:
import os
from mlflow import log_metric, log_param, log_artifact
但是当我尝试 运行 基于 Web 的用户界面时,出现以下错误:
$ mlflow ui
Traceback (most recent call last):
File "/home/emre/mlflow/lib/python3.6/site-packages/pkg_resources/__init__.py", line 574, in _build_master
ws.require(__requires__)
File "/home/emre/mlflow/lib/python3.6/site-packages/pkg_resources/__init__.py", line 892, in require
needed = self.resolve(parse_requirements(requirements))
File "/home/emre/mlflow/lib/python3.6/site-packages/pkg_resources/__init__.py", line 783, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (PyYAML 4.1 (/home/emre/mlflow/lib/python3.6/site-packages), Requirement.parse('PyYAML<=3.12,>=3.10'), {'awscli'})
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/emre/mlflow/bin/mlflow", line 6, in <module>
from pkg_resources import load_entry_point
File "/home/emre/mlflow/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3088, in <module>
@_call_aside
File "/home/emre/mlflow/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3072, in _call_aside
f(*args, **kwargs)
File "/home/emre/mlflow/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3101, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/home/emre/mlflow/lib/python3.6/site-packages/pkg_resources/__init__.py", line 576, in _build_master
return cls._build_from_requirements(__requires__)
File "/home/emre/mlflow/lib/python3.6/site-packages/pkg_resources/__init__.py", line 589, in _build_from_requirements
dists = ws.resolve(reqs, Environment())
File "/home/emre/mlflow/lib/python3.6/site-packages/pkg_resources/__init__.py", line 783, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (PyYAML 4.1 (/home/emre/mlflow/lib/python3.6/site-packages), Requirement.parse('PyYAML<=3.12,>=3.10'), {'awscli'})
有什么办法可以解决这个问题吗?
显然我必须在我的虚拟环境中安装 wheel
模块。我删除了虚拟环境,重新创建,然后安装了wheel
模块:
pip install wheel
之后 pip install mlflow
,以及 mlflow ui
都成功了。