PR

【Python】rye add open3d で発生するエラーとその対処法

【Python】rye add open3d で発生するエラーとその対処法 エンジニア
記事内に広告が含まれています。
スポンサーリンク

どうも!初めましての方は初めまして、初心者のWebサイト勉強のとみーです!

2023年に登場した Python のパッケージマネージャーの Rye は、

乱立する数々の Python のパッケージ管理ツールの問題を克服できる

ため、徐々に人気を集めてきています。

とみー
とみー

とみーも最近使い始めてみましたが、非常に便利です!

そんな Rye ですが、Open3D とはどうやら相性が悪いようで、インストール時にエラーが発生することがわかりました。

色々試行錯誤しているうちに解決方法がわかったので、今回はそのエラーの対処法をご紹介します!

Open3D を勉強するなら!
\Python プログラマ必読の1冊/
スポンサーリンク

パッケージマネージャー Rye とは

Rye とは?

Rye は2023年5月17日に初リリースされた、Rust 製の Python 用パッケージマネージャーです。

Python の Web フレームワークとして有名な Flask の作者が、Python のパッケージ周りのエコシステムに関する問題に対処するために個人的に作成したという経緯があります。

2023年9月現在の最新バージョンは 0.13.0 で、まだ Production Ready ではないと明言されています。定期的に新しいバージョンはリリースされていますが、今のところ長期的な開発に組み込むのは注意したほうが良さそうです。

Python のパッケージマネージャー

Python の主要なパッケージマネージャーには、次のようなものがあります。

Python のパッケージマネージャー
  • pip
  • pipenv
  • conda
  • poetry

pipパッケージの依存関係チェックが弱く、仮想環境を作るためには別のツールが必要になります。

仮想環境は、プロジェクトごとに必要なパッケージを切り分けるために使われます。

pipenvcondaは仮想環境まで作れますが、依存関係のチェックが遅いことで知られています。

とみー
とみー

conda install が何時間も経ったあとに「依存関係が解決できなかった」とエラーが出ることもあり、個人的にはあまり使いたくないのが本音です。。

poetryパッケージの依存関係をチェックでき、仮想環境も作れ、動作も比較的早い万能なパッケージマネージャーです。pipenvcondaに代わるツールとして、最近よく使われている印象があります。

Python のバージョン管理

ただし、実際にパッケージの管理を行う際には、パッケージのバージョンだけでなく Python 自体のバージョンも重要になってきます。

Python 3.8 ならバージョン 1.0.0、Python 3.9 ならバージョン 1.2.0 のように、Python のバージョンによってインストールされるパッケージのバージョンが異なることがあるためです。

上にあげたパッケージマネージャーはcondaを除いて Python のバージョン管理ができません。

とみー
とみー

パッケージによってはcondaでインストールできないものがあり、その場合にはpipを使うことになります。

しかし、依存関係がごちゃごちゃになるためcondapipの併用は推奨されません

そうすると、Python のバージョン管理を行うためのツールを使う必要が出てきます。

Python のバージョン管理ツール
  • virtualenv
  • pyenv

したがって、きちんとバージョン管理しようとすると、環境を整備するために2つのツールを用意しなければなりません。

  1. パッケージマネージャー
  2. バージョン管理ツール
とみー
とみー

とみーの周りでは、pyenv+poetryの組み合わせが多い印象です。

Python のバージョンもパッケージも Rye で一元管理

Rye を使うと、Rye だけで

  1. パッケージマネージャー
  2. バージョン管理ツール

の両方の役割を果たすことができます。

とみー
とみー

パッケージマネージャーには〇〇を使って、バージョン管理には△△を使って…と悩む必要がなくなります!

仮想環境の作成ももちろんできますし、Rust 製なので動作速度も十分です。

Rye をインストールするだけで環境が用意できるのがありがたいですね。

Rye のインストール方法

Rye のインストール方法は、公式ページで紹介されています。

次のコマンドを実行するだけです。

curl -sSf https://rye-up.com/get | bash

Windows の場合は、公式ページから.exeファイルをダウンロードして実行します。

スポンサーリンク

rye add open3dで発生するエラー

rye add open3d で発生するエラー

前置きが長くなりましたが、ここからが本題です。

Rye ではパッケージを追加する際に、rye addコマンドを実行します。

とみー
とみー

Open3D の場合、以下のようになります。

rye add open3d

rye addはインストール可能なバージョンを探し、pyproject.tomlに追加します。

しかし、Open3D の場合、上のコマンドを実行すると次のようなエラーが返ってきます。

error: did not find package 'open3d' without using pre-releases.

根本的な原因は不明ですが、どうやら Rye がopen3dのパッケージを見つけられないようです。

専門性を活かした就活で差をつけよう!

確率や統計の専門性は理系の就活でかなり優位に働きます。

そのため、エンジニア就活特化のプラットフォームを使えば他では見られない高待遇な就職先が見つかります!

特徴 リンク
UZUZ理系
  • 内定率 86% 以上!
  • ブラック企業徹底排除
  • 機械・電気電子・情報系は特に求人多数
【UZUZ】
エンジニア就活
  • 未経験から即戦力まで幅広く対応
  • IT企業特化の企業研究・就活コラム
  • 企業から直接スカウトも!
【エンジニア就活】
レバテックルーキー
  • 書類通過率 90% 以上
  • プログラミング経験者限定のハイクラス求人
  • 新卒年収 500 万円以上の求人も!
レバテックルーキー

経験不足で大丈夫かな…という方はプログラミングスクールでスキルアップしておくとバッチリです。

特徴 リンク
エンジニアズゲート
  • 完全無料のプログラミングスクール!
  • 95% 超えの就職率
  • 専任のキャリアアドバイザーがサポート
エンジニアズゲート
TechAcademy
  • Web 制作・アプリ開発・AI など幅広いコース
  • 学割あり
  • 初心者からでも副業できるレベルのスキルが身に付く!
テックアカデミー無料体験
とみー
とみー

エンジニアズゲート は特に完全無料なので検討の余地ありです!

スポンサーリンク

rye add open3dで発生するエラーの対処法

エラーの対処法はとってもシンプルです。

rye addpyproject.tomlopen3dを追加できないのであれば、手動でpyproject.tomlopen3dを追加してあげれば OK です。

  1. 使用する Python のバージョンに対応した Open3D のバージョンを Open3D のドキュメントから見つける
  2. pyproject.tomldependenciesopen3dをバージョン指定し追加する
  3. rye syncを実行
pyproject.toml
[project]
name = "app"
version = "0.1.0"
dependencies = [
    "open3d>=0.17.0", ← これを追加
]

rye addはあくまでpyproject.tomlにパッケージを追加するだけで、実際のインストールはrye syncコマンドで行います

とみー
とみー

pyproject.tomlopen3dが追加できたら、rye syncを実行すれば完了です!

依存関係のエラー

このとき指定したバージョンが他のパッケージとコンフリクトすれば、依存関係のエラーが出ます。

その場合は Open3D やコンフリクトしたパッケージのバージョンを確認し、修正しましょう

Open3D は Python のバージョンによってインストールできるバージョンが異なるので、Python のバージョンを見直してみるのも手です。

Open3D を勉強するなら!
\Python プログラマ必読の1冊/
スポンサーリンク

コメント

タイトルとURLをコピーしました