mlem
mlem copied to clipboard
`build` fails if MLEM was installed with `pip install .`
The same works if MLEM was installed by pip install -e .
Reproducing:
$ git clone https://github.com/iterative/mlem
$ cd mlem
$ pip install .
$ mlem --tb build docker -m ../mlem/emoji/lyrics2emoji --image.name lyrics2emoji --image.tag v1
⏳️ Loading model from ../mlem/emoji/lyrics2emoji.mlem
2022-12-28 16:25:10,893 [WARNING] mlem.utils.module: Fail to determine package name for module 'spacy', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
🛠 Building MLEM wheel file...
ERROR: Directory '.' is not installable. Neither 'setup.py' nor 'pyproject.toml' found.
WARNING: You are using pip version 21.1.1; however, version 22.3.1 is available.
You should consider upgrading via the '/Users/aguschin/Git/iterative/mlem-fly/.venv/bin/python -m pip install --upgrade pip' command.
Traceback (most recent call last):
File "/Users/aguschin/Git/iterative/mlem-fly/.venv/bin/mlem", line 8, in <module>
sys.exit(app())
File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/typer/main.py", line 328, in __call__
raise e
File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/typer/main.py", line 311, in __call__
return get_command(self)(*args, **kwargs)
File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/click/core.py", line 1130, in __call__
return self.main(*args, **kwargs)
File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/typer/core.py", line 778, in main
return _main(
File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/typer/core.py", line 216, in _main
rv = self.invoke(ctx)
File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/click/core.py", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/click/core.py", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/mlem/cli/main.py", line 174, in invoke
return super().invoke(ctx)
File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/click/core.py", line 760, in invoke
return __callback(*args, **kwargs)
File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/typer/main.py", line 683, in wrapper
return callback(**use_params) # type: ignore
File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/mlem/cli/main.py", line 475, in inner
f(*iargs, **ikwargs)
File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/mlem/cli/build.py", line 88, in build_type
build(
File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/mlem/telemetry.py", line 50, in inner
return f(*args, **kwargs)
File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/mlem/api/commands.py", line 333, in build
return builder.build(model)
File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/mlem/contrib/docker/base.py", line 560, in build
DockerDirBuilder(
File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/mlem/contrib/docker/base.py", line 537, in build
docker_dir.write_distribution()
File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/mlem/contrib/docker/context.py", line 300, in write_distribution
self.write_mlem_source()
File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/mlem/contrib/docker/context.py", line 391, in write_mlem_source
source.build(self.path)
File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/mlem/contrib/docker/context.py", line 88, in build
self._new_whl(path)
File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/mlem/contrib/docker/context.py", line 96, in _new_whl
subprocess.check_output(
File "/Users/aguschin/.pyenv/versions/3.9.5/lib/python3.9/subprocess.py", line 424, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/Users/aguschin/.pyenv/versions/3.9.5/lib/python3.9/subprocess.py", line 528, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command 'pip wheel . --no-deps -w /var/folders/tv/l60j0x050p536g3bh8g2w1n80000gn/T/tmpl41wg2gk' returned non-zero exit status 1.