简体   繁体   English

迭代.ai MLEM | ModuleNotFoundError:没有名为“mlem.api”的模块; 'mlem' 不是 package

[英]iterative.ai MLEM | ModuleNotFoundError: No module named 'mlem.api'; 'mlem' is not a package

Goal: install and run Python script with MLEM code.目标:使用MLEM代码安装并运行 Python 脚本。

Following this installation guide in the library docs;遵循库文档中的安装指南 pip install mlem should suffice. pip install mlem就足够了。

Code:代码:

from mlem.api import import_object

# ...

Traceback:追溯:

$ python3 app/deployment-poc/mlem.py
Traceback (most recent call last):
  File "/home/me/BitBucket/project/app/deployment-poc/mlem.py", line 1, in <module>
    from mlem.api import import_object
  File "/home/me/BitBucket/project/app/deployment-poc/mlem.py", line 1, in <module>
    from mlem.api import import_object
ModuleNotFoundError: No module named 'mlem.api'; 'mlem' is not a package

I've installed both via pip and conda .我已经通过pipconda安装了。

$ which mlem
/home/me/miniconda3/envs/venv/bin/mlem
$ mlem --version
🐶 MLEM Version: 0.4.1
$ conda list
# packages in environment at /home/me/miniconda3/envs/venv:
#
# Name                    Version                   Build  Channel
fastapi                   0.89.1                   pypi_0    pypi
mlem                      0.4.1                    pypi_0    pypi
(venv) me@laptop:~/BitBucket/project$ pip install mlem --no-dependencies
Requirement already satisfied: mlem in /home/me/miniconda3/envs/venv/lib/python3.10/site-packages (0.4.1)
(venv) me@laptop:~/BitBucket/project$ pip show mlem
Name: mlem
Version: 0.4.1
Summary: Version and deploy your models following GitOps principles
Home-page: https://mlem.ai
Author: Mikhail Sveshnikov
Author-email: mike0sv@iterative.ai
License: Apache License 2.0
Location: /home/me/miniconda3/envs/venv/lib/python3.10/site-packages
Requires: aiohttp, aiohttp-swagger, cached-property, click, cloudpickle, dill, entrypoints, flatdict, fsspec, gitpython, importlib-metadata, isort, iterative-telemetry, Jinja2, pydantic, pyparsing, python-gitlab, python-multipart, requests, rich, typer
Required-by: 

Request to have a reputable member create new tag: mlem要求有信誉的会员创建新标签: mlem

You have a script /home/me/BitBucket/project/app/deployment-poc/mlem.py which shadows importable package mlem .您有一个脚本/home/me/BitBucket/project/app/deployment-poc/mlem.py ,它隐藏了可导入的 package mlem With such a script import mlem in the script tries to import from the very script, not from the package.使用这样的脚本,脚本中的import mlem会尝试从脚本中导入,而不是从 package 中导入。

Rename mlem.py to something different.mlem.py重命名为不同的名称。

The bottom line: never name you scripts the same as importable packages.底线:永远不要将脚本命名为与可导入包相同的名称。 Never have email.py or test.py , etc.从来没有email.pytest.py等。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 ModuleNotFoundError: 没有名为“的模块”<package> &#39; - ModuleNotFoundError: No module named '<package>' Conda安装包ModuleNotFoundError:没有名为&#39;conda&#39;的模块 - Conda install package ModuleNotFoundError: No module named 'conda' 开发一个新的包并获取ModuleNotFoundError:没有命名的模块 - developing a new package and getting ModuleNotFoundError: No module named ModuleNotFoundError:没有名为“ xyz”的模块; &#39;xyz&#39;不是一个包 - ModuleNotFoundError: No module named 'xyz'; 'xyz' is not a package ModuleNotFoundError: 没有用于对象检测 api 的名为“nets”的模块 - ModuleNotFoundError: No module named 'nets' for object detection api ModuleNotFoundError:没有名为“fyers_api”的模块 - ModuleNotFoundError: No module named 'fyers_api' ModuleNotFoundError: 没有名为“xxx”的模块; &#39;xxx&#39; 不是一个包 - ModuleNotFoundError: No module named 'xxx'; 'xxx' is not a package “ModuleNotFoundError:没有命名模块<package> “在我的 Docker 容器中 - "ModuleNotFoundError: No module named <package>" in my Docker container ModuleNotFoundError:没有名为“win32api”的模块 - ModuleNotFoundError: No module named 'win32api 无法加载 Python 包的子模块:ModuleNotFoundError: No module named - Unable to load submodules of a Python package: ModuleNotFoundError: No module named
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM