簡體   English   中英

為什么即使在 pip 將它安裝到 Python conda 環境中之后也找不到模塊“ultralytics”?

[英]Why is the module 'ultralytics' not found even after pip installing it in the Python conda environment?

在帶有 Python 3.8.15 的 conda 環境中,我做了pip install ultralytics

成功安裝...,ultralytics-8.0.4

但是當from ultralytics import YOLO運行時,它說

ModuleNotFoundError:沒有名為“ultralytics”的模塊

我使用 Colab 運行。 首先我使用 pip 命令安裝 Ultralytics

!pip install ultralytics

然后

from ultralytics import YOLO

它奏效了。

您使用的是 Jupyter 筆記本嗎? 如果是這樣,jupyter 可能沒有使用正確的 python 解釋器。 或者您使用的是安裝在系統上的 jupyter,而不是安裝在 conda 環境中的 jupyter。

要檢查哪個 python jupyter 在單元格上使用此代碼:

import sys
print(sys.executable)

列出所有可用的已安裝 python 解釋器。 使用這個命令:

!which -a python

conda 環境中的 python 應該在這樣的路徑上:

~/.conda/envs/{myenv}/bin/python

要在 conda 環境中使用正確的解釋器,您需要在 conda 環境中使用單獨的 jupyter 安裝。 看到這個答案: How to use Jupyter notebooks in a conda environment?

您可以使用筆記本內部單元格中的 magic %pip install來確保安裝發生在 Jupyter 筆記本 kernel 正在使用的環境中。 Mikhael 的回答指出了真正確定如何處理這個問題並完全控制事情的徹底方法。 但是,在嘗試越過障礙時有方便、快捷的替代方法是很好的。

對於那些在任何地方使用實際 Jupyter(不是 Google Colab )的人,安裝命令將是:

%pip install ultralytics

請務必讓安裝過程完全取決於您的系統和網絡,這可能需要一點時間。 接下來,在運行任何魔法安裝命令后,您將看到一條消息,要求您重新啟動 kernel,最好在嘗試導入語句之前執行此操作。 最后,在重啟 kernel 之后,您可以在from ultralytics import YOLO之后運行 suggest import,希望現在不會遇到ModuleNotFoundError: No module named 'ultralytics'

添加了魔術命令以確保在找到支持筆記本的 kernel 的環境中進行安裝。 有關 Jupyter 中現代魔術安裝命令的更多信息,請參見此處 (對於那些使用 conda/Anaconda/mamba 作為主要 package 管理器的人,當包有 conda 安裝配方時,有一個相關的%conda install變體,它也確保安裝到 kernel 正在使用的正確環境。)

如果您此時正在使用 Google Colab ,請參閱 JATIN 的回答。 因為我不相信 Google Colab 有神奇的pip install ,因為遺憾的是他們沒有跟上當前 Jupyter 的能力。

考慮到添加了魔法命令,感嘆號與pip install結合使用對於典型的 Jupyter 來說已經過時了。 有時,無法確保安裝發生在運行 kernel 的同一環境中的感嘆號可能會導致問題/混亂,因此幾年前添加了魔術命令以使安裝更加方便。 有關此特定任務的感嘆號變體的缺點的更多信息,請參閱此處的第一句話。

事實上,現在在pip install或 conda conda install前,在 vanilla Jupyter notebook 中運行此類命令時,沒有比感嘆號更好的符號了。 現在沒有比感嘆號更好的符號了,這是因為大多數 Jupyter 安裝默認啟用了自動魔法。 因此,如果沒有符號,魔術命令變體將在幕后使用。 通常情況下,最好是顯式使用魔術符號,但您可能看不到任何符號工作或被建議並想知道發生了什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM