无法在Python中导入SAM2

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

这是官方介绍如何使用pip安装SAM2:

https://github.com/facebookresearch/sam2?tab=readme-ov-file#installation

我克隆了这个存储库,并使用

venv
创建了一个名为
virtualEnv
的新环境。然后我使用以下命令安装包:

pip install -e .

显然,效果很好。

问题是当我在另一个目录中创建一个新项目,用vs code打开它,选择包含sam2的环境,并尝试使用以下方式导入sam2:

从 sam2.build_sam 导入 build_sam2

Pylance 说“导入

sam2.build_sam
无法解决”,这让我很困惑。

我注意到存储库的名称是“sam2”,这可能会导致问题,因为它的包名称也是“sam2”。

将 sam2 克隆到项目的根目录,创建新环境并安装它时,我可以通过添加另一个 'sam2' 作为前缀来正确导入 sam2,例如:

从 sam2.sam2.build_sam 导入 build_sam2

但是一旦包含 sam2 的环境和项目存在于不同的目录中,添加“sam2”作为前缀对解决问题没有任何帮助。

This is the summary of the problem generated by ChatGPT:

当您在不同的目录中创建新项目并尝试导入 sam2(使用包含 sam2 的环境)时,VS Code 中的 Pylance 会给出“导入无法解析”错误。您观察到,当项目和 sam2 位于同一目录中时,通过添加第二个 sam2 前缀(例如,from sam2.sam2.build_sam import build_sam2),导入路径有效,但当它们位于不同的目录中时,此方法会失败。

非常感谢。

importerror segment-anything
1个回答
0
投票

我在 Windows 上遇到了同样的问题。

命令

!{sys.executable} -m pip install 'git+https://github.com/facebookresearch/sam2.git'
可以在Colab

上找到

所以,

python -m pip install git+https://github.com/facebookresearch/sam2.git
似乎工作得很好。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.