実現したいこと
下記コードでYOLOをインポートしたいです。
python
1from ultralytics import YOLO
発生している問題・分からないこと
下記エラーコードが発生しており、インポートできません。
error_code
1module 'os' has no attribute 'add_dll_directory'
error_codeの直前のメッセージ
1C:\Users\user\anaconda3\lib\site-packages\numpy\_distributor_init.py:32: UserWarning: loaded more than 1 DLL from .libs: 2C:\Users\user\anaconda3\lib\site-packages\numpy\.libs\libopenblas.FB5AE2TYXYH2IJRDKGDGQ3XBKLKTF43H.gfortran-win_amd64.dll 3C:\Users\user\anaconda3\lib\site-packages\numpy\.libs\libopenblas.XWYDX2IKJW2NMTWSFYNGFUWKQU3LYTCZ.gfortran-win_amd64.dll 4 stacklevel=1) 5--------------------------------------------------------------------------- 6AttributeError Traceback (most recent call last) 7~\AppData\Local\Temp/ipykernel_10124/583945114.py in <module> 8----> 1 from ultralytics import YOLO 9 10~\anaconda3\lib\site-packages\ultralytics\__init__.py in <module> 11 3 __version__ = '8.0.151' 12 4 13----> 5 from ultralytics.hub import start 14 6 from ultralytics.models import RTDETR, SAM, YOLO 15 7 from ultralytics.models.fastsam import FastSAM 16 17~\anaconda3\lib\site-packages\ultralytics\hub\__init__.py in <module> 18 3 import requests 19 4 20----> 5 from ultralytics.data.utils import HUBDatasetStats 21 6 from ultralytics.hub.auth import Auth 22 7 from ultralytics.hub.utils import HUB_API_ROOT, HUB_WEB_ROOT, PREFIX 23 24~\anaconda3\lib\site-packages\ultralytics\data\__init__.py in <module> 25 1 # Ultralytics YOLO 🚀, AGPL-3.0 license 26 2 27----> 3 from .base import BaseDataset 28 4 from .build import build_dataloader, build_yolo_dataset, load_inference_source 29 5 from .dataset import ClassificationDataset, SemanticDataset, YOLODataset 30 31~\anaconda3\lib\site-packages\ultralytics\data\base.py in <module> 32 13 import numpy as np 33 14 import psutil 34---> 15 from torch.utils.data import Dataset 35 16 from tqdm import tqdm 36 17 37 38~\anaconda3\lib\site-packages\torch\__init__.py in <module> 39 106 40 107 for dll_path in dll_paths: 41--> 108 os.add_dll_directory(dll_path) 42 109 43 110 try:
試したこと・調べたこと
- teratailやGoogle等で検索した
上記の詳細・結果
①pythonのバージョンを変更
3.7→3.11.8→3.8.10
※3.8に切替えています
(base) C:\Users\user>py --list -V:3.11 Python 3.11 (64-bit) -V:3.8 * Python 3.8 (64-bit) -V:ContinuumAnalytics/Anaconda38-64 Anaconda 2020.07
②pipのバージョン変更
22.3.1→24.0
(base) C:\Users\user>pip -V pip 22.3.1 from C:\Users\user\anaconda3\lib\site-packages\pip (python 3.7)
(base) C:\Users\user>pip -V pip 24.0 from C:\Users\user\anaconda3\lib\site-packages\pip (python 3.7)
③パイソンのバージョンを再度確認
py --listでは3.8に*がついていたので、3.8に切り替わっていると
思っていましたが、
python -Vで確認すると、3.7のままでした。
anaconda
1(base) C:\Users\user>python -V 2Python 3.7.7 3 4(base) C:\Users\user>py --list 5 -V:3.11 Python 3.11 (64-bit) 6 -V:3.8 * Python 3.8 (64-bit) 7 -V:ContinuumAnalytics/Anaconda38-64 Anaconda 2020.07
④3.11をアンインストール
3.11はアンインストールできましたが、3.7のままです。
※3.11の環境変数も削除済みです。
(base) C:\Users\user>py --list -V:3.8 * Python 3.8 (64-bit) -V:ContinuumAnalytics/Anaconda38-64 Anaconda 2020.07 (base) C:\Users\user>python -V Python 3.7.7
⑤仮想環境の確認
env01に3.8がインストールされていました。
仮想環境env01に切替えたら正常に動作すると思いましたが、今までとおなじでした。
anaconda
1(base) C:\Users\user>conda info -e 2# conda environments: 3# 4base * C:\Users\user\anaconda3 5env01 C:\Users\user\anaconda3\envs\env01 6yolo_v3 C:\Users\user\anaconda3\envs\yolo_v3
env01に切替え後
1(env01) C:\Users\user>python -V 2Python 3.8.10
⑥下記を参考にしてjupyter notebookに仮想環境が使用できるよう設定
https://www.salesanalytics.co.jp/datascience/datascience060/
⇒ipython-kernel-install: error: unrecognized arguments: env01が
表示され、設定できない。
anaconda
1(base) C:\Users\user>pip install ipykernel 2WARNING: Ignoring invalid distribution -pencv-python (c:\users\user\anaconda3\lib\site-packages) 3Requirement already satisfied: ipykernel in c:\users\user\anaconda3\lib\site-packages (6.4.1) 4Requirement already satisfied: ipython-genutils in c:\users\user\anaconda3\lib\site-packages ... 5WARNING: Ignoring invalid distribution -pencv-python (c:\users\user\anaconda3\lib\site-packages) 6 7(base) C:\Users\user>ipython kernel install --user --name= env01 8usage: ipython-kernel-install [-h] [--user] [--name NAME] 9 [--display-name DISPLAY_NAME] 10 [--profile PROFILE] [--prefix PREFIX] 11 [--sys-prefix] [--env ENV VALUE] 12ipython-kernel-install: error: unrecognized arguments: env01 13 14(base) C:\Users\user>
⑦コマンドプロンプトで下記コマンドを入力。
anaconda_powershell
1(base) PS C:\Users\user> 2>> import os 3>> os.add_dll_directory('C:/') 4import : 用語 'import' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されま 5せん。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してく 6ださい。 7発生場所 行:2 文字:1 8+ import os 9+ ~~~~~~ 10 + CategoryInfo : ObjectNotFound: (import:String) [], CommandNotFoundException 11 + FullyQualifiedErrorId : CommandNotFoundException 12 13os.add_dll_directory : 用語 'os.add_dll_directory' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプロ 14グラムの名前として認識されません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいこと 15を確認してから、再試行してください。 16発生場所 行:3 文字:1 17+ os.add_dll_directory('C:/') 18+ ~~~~~~~~~~~~~~~~~~~~ 19 + CategoryInfo : ObjectNotFound: (os.add_dll_directory:String) [], CommandNotFoundException 20 + FullyQualifiedErrorId : CommandNotFoundException
anaconda_prompt
1(base) C:\Users\user>import os 2'import' は、内部コマンドまたは外部コマンド、 3操作可能なプログラムまたはバッチ ファイルとして認識されていません。 4 5(base) C:\Users\user>import os 6'import' は、内部コマンドまたは外部コマンド、 7操作可能なプログラムまたはバッチ ファイルとして認識されていません。
⑧コマンドプロンプトで確認
「⑦」のコマンドを入力すると、
Added...(C:/)
のコードが出力された。
※直前に下記環境変数を削除。
また、ここでpy -3.7を入力すると、ファイルがない。と返ってくる。
⇒anaconda promptでは(base)のままでpython -Vと入力すると、
3.7.7と返ってくるので、矛盾している。
⑨Pythonを再度インストール
下記のWindows 64-bitをインストール。Jupyterにて仮想環境で実行。
↓仮想環境env01にPython3.11がインストールされた。
anaconda_prompt
1(base) C:\Users\user>python -V 2Python 3.7.7 3 4(base) C:\Users\user>conda activate env01 5 6(env01) C:\Users\user>python -V 7Python 3.11.8 8 9(env01) C:\Users\user>py --list 10 -V:3.11 * Python 3.11 (64-bit) 11 -V:ContinuumAnalytics/Anaconda38-64 Anaconda 2020.07
↓Jupyterのchenge kernelで仮想環境env01に切り替えた後、下記を実行。
Jupyter_note(env01)
1from ultralytics import YOLO
error_code
1module 'os' has no attribute 'add_dll_directory'
補足
python:3.7→現在は3.8.10→3.11.8
pip:22.3.1→現在は24.0
ultralytics:8.0.151
回答1件
あなたの回答
tips
プレビュー