質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

3941閲覧

python pclのimport

Ma_a

総合スコア20

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/10/30 03:23

編集2019/11/06 07:03

前提・実現したいこと

python でpclを行いたい。
そこで、pcl のパッケージを利用している仮想環境へと以下のページを参考にしてインストールしました。
https://anaconda.org/conda-forge/pcl”
うまくいけば以下のサンプルが実行可能であると思います。

python

1import pcl 2p = pcl.PointCloud() 3p.from_array(np.array([[1,2,3],[3,4,5]], dtype=np.float32))) 4seg = self.p.make_segmenter() 5seg.set_model_type(pcl.SACMODEL_PLANE) 6seg.set_method_type(pcl.SAC_RANSAC) 7indices, model = seg.segment() 8

とりあえず、こちらのサンプルを動かしたいです。

発生している問題・エラーメッセージ

python

1import pcl 2 3>>>Traceback (most recent call last): 4>>>File "<stdin>", line 1, in <module> 5>>>ModuleNotFoundError: No module named 'pcl'

となっています。

試したこと

t_obara様に指摘されたように,cmdとJupyter で以下を実行したところ、
pclが存在しているフォルダにパスが通ってなかったことが判明しました。

python

1import sys 2print(sys.path) 3

そこでpclが存在する場所のパスを通してみると
確かにimport は通りました。
しかし、openCVと同じ位置へインストールされており、今までOpenCVは問題なく動いていました。
さらに、インストールしたものが
pcl-1.9>pcl
とファイルパスがなっていたので、import させようとすると、”pcl”フォルダの階層を一つ上へ手動で上げました。

加えて、以下のプログラムを実行すると、

python

1import pcl 2p = pcl.PointCloud() 3>>>Traceback (most recent call last): 4>>>File "<stdin>", line 1, in <module> 5>>>AttributeError: module 'pcl' has no attribute 'PointCloud'

とエラーが返ってきました。

補足情報(FW/ツールのバージョンなど)

OS:Windows10
Jupyter notebook利用

AnacondaのPCLインストールコマンド記述ページにInfoとしてこちらの記述あり

Info: This package contains files in non-standard labels.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

t_obara

2019/10/30 05:29

とりあえず、モジュールのパスをそれぞれで確認されてみてはいかがでしょうか。それでも解決できないのであれば、その情報も質問を更新して掲載するとよろしいかと思います。 import sys print(sys.path)
Ma_a

2019/10/30 06:23

ありがとうございます。 一応開いては見たものの、解決できそうにないため情報を追加してみます。
t_obara

2019/10/30 09:50

モジュールパスは、jupyterの場合と、cmdの場合の両方を比較するのです。
Ma_a

2019/11/05 06:37

確認してみました、あってますか?
Ma_a

2019/11/05 10:09

ちなみに、インストールしたものは、opencv2が入っているフォルダと同じフォルダ内に”pcl-1.9>pcl”と入っていました。
t_obara

2019/11/07 02:00

調べて見たのですが、提示されたモジュールはpythonから直接呼び出すものではないように思われます。 これを利用可能なのか、それともpcl自体別に入れた方が良いのかもわかりませんが、pythonから利用するには、python bindingモジュールが必要な感じがします。 https://anaconda.org/sirokujira/python-pcl http://pointclouds.org/news/tags/python
Ma_a

2019/11/07 06:12

ありがとうございます。 提示されたものからインストールしてみたところ、 ”not found”のエラーは消えました。 ただし、”ImportError: DLL load failed: 指定されたプロシージャが見つかりません。”というエラーに変わったので、読み込みはできているということが確認できました。 こちらのページで似たようなバグに遭遇しているようなので、 確認してみようと思います。 https://qiita.com/marshi/items/a0f80c5aa3c37b0025d6
Ma_a

2019/11/07 08:26

調べてみたところ、 ”ImportError: DLL load failed: 指定されたプロシージャが見つかりません。” のエラーを解決するには少々難しいみたいですね…
t_obara

2019/11/08 05:04

そのエラーだとプラットフォームはWindowsなのですね。 PCLのモジュールを実行するにあたり、必要なDLLが読み込めないということで、どのDLLなのかを把握するツールとして前述のURLにあるDependency Walkerとなります。すでにDLLがあるけれど、パスが通っていないなどの場合でもでる場合があります。PCLモジュール自体はビルドして入れた方が確実かもしれません。
Ma_a

2019/11/08 07:22

あ,OS:Windows10,anaconda,jupyter notebook,を利用してます.一応,Dependency Walkerを使ってみたのですが,バージョンが違うとエラーが出たので,PCLの本家からWindowsのものをインストールし,exeファイルをanacondaに入れる形じゃないと難しいのですかね…
t_obara

2019/11/08 07:33

インストールは、python-pclをご覧になって、その手順に従うのが確実ではないかと思います。 https://github.com/strawlab/python-pcl 少なくとも「set before Environment variable」についてはご自身の環境に合わせて設定すべきかと思います。binary自体はconda install -c conda-forge pcl でも入っていると思うので。(私は試していないので、うまくいくかわかりませんが、環境変数を設定して試すこと自体はそれほど大変ではないと思います)
Ma_a

2019/11/11 07:58

なるほど… やってみます
Ma_a

2019/11/18 06:58 編集

pip でのインストールを行ってみたところ、同様に Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Users\Username\Anaconda3\envs\kankyo\lib\site-packages\pcl\__init__.py", line 5, in <module> from ._pcl import * ImportError: DLL load failed: 指定されたモジュールが見つかりません。 のエラーが出るようですね… その下まで行ってみないとわからないですね…
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問