横浜国立大学理工学部建築都市環境系学科卒
一級鉄筋技能士
物体検知のエッジAIを実装するためにはPyCharmで環境を構築し、YOLOをダウンロードする必要があります。
初学者はPyCharmで環境を構築する際にエラーが生じてしまってなかなかうまく進まないことも多いのではないでしょうか?
pythonのバージョンが原因のエラーを解決するには新しいバージョンのpythonのパスを上位に設定する必要があります。
この記事ではローカル環境のpythonのバージョン管理について詳しく解説していきます。
目次
YOLOのインストール
PyCharmで仮想環境が準備できたらYOLOのダウンロードをPyCharmで行っていきます。
1 |
git clone https://github.com/ultralytics/yolov5.git |
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
YOLOをインストールしようとすると以下のエラーがでました。
1 2 3 4 5 6 7 8 9 10 |
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/gitpython/ WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/gitpython/ WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/gitpython/ WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/gitpython/ WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/gitpython/ Could not fetch URL https://pypi.org/simple/gitpython/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/gitpython/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping ERROR: Could not find a version that satisfies the requirement gitpython>=3.1.30 (from versions: none) ERROR: No matching distribution found for gitpython>=3.1.30 WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. |
どうやらpythonのバージョンが原因でエラーが出ているようです。
python interpreterではPython 3.10.9を指定しており、公式ドキュメントをみても3.10のバージョンであればエラーがでないような記述がありました。
この原因はどうもpythonのバージョン指定がうまくできていないことにありそうです。
python interpreterとterminalのpythonのバージョンが違う?
今回はpython interpreterでPython 3.10.9を指定していましたが、terminalでpythonのバージョンを見てみると、違うバージョンのpythonが表示されています。
1 2 3 4 5 6 |
python interpreter Python 3.10.9 terminal python --version Python 3.9.12 |
どうやらlocalのterminalではanacondaのpythonのバージョンが優先されて使用されているようです。
terminalで使用するpythonのバージョンを変更する
localの環境ではanacondaのpythonのバージョンPython 3.9.12が何故か優先されているため、上記のエラーが出ているようです。
まずは、pythonのインストールにはanacondaを使用する方法とIDEを使用する方法の2通りがあることを理解しておきましょう。
termialで使用するpythonのバージョンのパスを他のバージョンよりも上にする
terminalのpythonをanacondaのPython 3.9.12ではなく、直接ダウンロードしたPython 3.10.9にすればエラーが解決できそうです。
1 2 3 4 5 6 |
コントロールパネル →システム →システムの詳細設定 →環境変数 →path →編集 |
あとは、Python 3.10.9が保存されているディレクトリのパスをanacondaのpythonのパスよりも上位に移動すれば完了です。
改めてPyCharmで確認、YOLOのダウンロード
改めてPyCharmのterminalでpythonのバージョンを確認してみるとPython 3.10.9になっています。
1 2 |
(venv) C:\デスクトップ\test\ObjectDetectionCourseLocal>python Python 3.10.9 (tags/v3.10.9:1dd9be6, Dec 6 2022, 20:01:21) [MSC v.1934 64 bit (AMD64)] on win32 |
改めてYOLOのダウンロードをpycharmで行ってみると無事にYOLOをインストールすることができました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
>>> pip install -r yolov5/requirements.txt (venv) C:\デスクトップ\test\ObjectDetectionCourseLocal>pip install -r yolov5/requirements.txt Collecting gitpython>=3.1.30 Downloading GitPython-3.1.31-py3-none-any.whl (184 kB) ---------------------------------------- 184.3/184.3 kB 3.7 MB/s eta 0:00:00 Collecting matplotlib>=3.2.2 Downloading matplotlib-3.7.1-cp310-cp310-win_amd64.whl (7.6 MB) ---------------------------------------- 7.6/7.6 MB 4.3 MB/s eta 0:00:00 省略 Collecting oauthlib>=3.0.0 Downloading oauthlib-3.2.2-py3-none-any.whl (151 kB) ---------------------------------------- 151.7/151.7 kB 8.8 MB/s eta 0:00:00 Installing collected packages: tensorboard-plugin-wit, pytz, pyasn1, wheel, urllib3, typing-extensions, tensorboard-data-server, smmap, six, setuptools, rsa, PyYAML, pyparsing, pyasn1-modules, psutil, protobuf, Pillow, packaging, oauth lib, numpy, MarkupSafe, markdown, kiwisolver, idna, grpcio, fonttools, cycler, colorama, charset-normalizer, certifi, cachetools, absl-py, werkzeug, tqdm, torch, scipy, requests, python-dateutil, opencv-python, google-auth, gitdb, cont ourpy, torchvision, thop, requests-oauthlib, pandas, matplotlib, gitpython, seaborn, google-auth-oauthlib, tensorboard Attempting uninstall: setuptools Found existing installation: setuptools 65.5.0 Successfully installed MarkupSafe-2.1.2 Pillow-9.4.0 PyYAML-6.0 absl-py-1.4.0 cachetools-5.3.0 certifi-2022.12.7 charset-normalizer-3.1.0 colorama-0.4.6 contourpy-1.0.7 cycler-0.11.0 fonttools-4.38.0 gitdb-4.0.10 gitpython-3.1.31 googl e-auth-2.16.2 google-auth-oauthlib-0.4.6 grpcio-1.51.3 idna-3.4 kiwisolver-1.4.4 markdown-3.4.1 matplotlib-3.7.1 numpy-1.24.2 oauthlib-3.2.2 opencv-python-4.7.0.72 packaging-23.0 pandas-1.5.3 protobuf-4.22.0 psutil-5.9.4 pyasn1-0.4.8 p yasn1-modules-0.2.8 pyparsing-3.0.9 python-dateutil-2.8.2 pytz-2022.7.1 requests-2.28.2 requests-oauthlib-1.3.1 rsa-4.9 scipy-1.10.1 seaborn-0.12.2 setuptools-67.5.0 six-1.16.0 smmap-5.0.0 tensorboard-2.12.0 tensorboard-data-server-0.7 .0 tensorboard-plugin-wit-1.8.1 thop-0.1.1.post2209072238 torch-1.13.1 torchvision-0.14.1 tqdm-4.65.0 typing-extensions-4.5.0 urllib3-1.26.14 werkzeug-2.2.3 wheel-0.38.4 [notice] A new release of pip available: 22.3.1 -> 23.0.1 [notice] To update, run: python.exe -m pip install --upgrade pip |
まとめ
この記事では初学者が陥りやすいpythonのバージョン管理について解説しました。
pythonのダウンロード方法にはanacondaを使用する方法とIDEを利用する方法の2通りがあります。
pythonのバージョンが原因のエラーでは古いバージョンのpythonが適用されていることがあるので、適切なバージョンのパスを上位にしてエラーを修正しましょう。