実現したいこと
pythonライブラリ「open3D」を利用したプログラムを作るにあたってVScodeのライブラリ補完を有効にしたいができないので解決したいです。
前提
研究活動の過程でopen3Dを使いたいと思っています。
pipでのインストールは済んでおり、以下のプログラムは(https://self-development.info/%E3%80%90python%E3%80%913d%E3%83%87%E3%83%BC%E3%82%BF%E5%87%A6%E7%90%86%E3%82%92%E8%A1%8C%E3%81%86open3d%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/)
の流れで動かしたもので、ちゃんと動作しました。
しかしながら、
"visualization" はモジュール "open3d" の既知のメンバーではありません
と問題が表示されますし、何より他のプログラムを書くときに不便そうなのでライブラリを認識させてあげたいです。
python
1import open3d as o3d 2import random 3 4NUM_LINES = 10 5 6 7def random_point(): 8 return [5 * random.random(), 5 * random.random(), 5 * random.random()] 9 10 11def main(): 12 pts = [random_point() for _ in range(0, 2 * NUM_LINES)] 13 line_indices = [[2 * i, 2 * i + 1] for i in range(0, NUM_LINES)] 14 colors = [[0.0, 0.0, 0.0] for _ in range(0, NUM_LINES)] 15 16 lines = o3d.geometry.LineSet() 17 lines.points = o3d.utility.Vector3dVector(pts) 18 lines.lines = o3d.utility.Vector2iVector(line_indices) 19 # The default color of the lines is white, which will be invisible on the 20 # default white background. So we either need to set the color of the lines 21 # or the base_color of the material. 22 lines.colors = o3d.utility.Vector3dVector(colors) 23 24 # Some platforms do not require OpenGL implementations to support wide lines, 25 # so the renderer requires a custom shader to implement this: "unlitLine". 26 # The line_width field is only used by this shader; all other shaders ignore 27 # it. 28 mat = o3d.visualization.rendering.MaterialRecord() 29 mat.shader = "unlitLine" 30 mat.line_width = 10 # note that this is scaled with respect to pixels, 31 # so will give different results depending on the 32 # scaling values of your system 33 o3d.visualization.draw({ 34 "name": "lines", 35 "geometry": lines, 36 "material": mat 37 }) 38 39 40if __name__ == "__main__": 41 main()
試したこと
ライブラリ補完機能の有効化ということで調べてみると、setting.jsonを変更するとよい旨があったので以下のようにしています。
setting.json
1{ 2 "python.linting.mypyEnabled": true, 3 "python.analysis.typeCheckingMode": "basic", 4 "workbench.startupEditor": "none", 5 "[python]": { 6 "editor.formatOnType": true, 7 "editor.wordBasedSuggestions": true 8 }, 9 "launch": { 10 "configurations": [], 11 "compounds": [] 12 }, 13 "editor.snippetSuggestions": "top", 14 "editor.suggest.showKeywords": false, 15 "python.linting.enabled": true, 16 "python.languageServer": "Pylance", 17 "python.analysis.completeFunctionParens": true, 18 "python.analysis.extraPaths": [ 19 "${workspaceFolder}\\venv\\lib\\site-packages" 20 ], 21 "python.autoComplete.extraPaths": [ 22 "${workspaceFolder}\\venv\\lib\\site-packages" 23 ], 24}
「前提」に載せたのと同じ仮想環境内にあるファイルの話ですが、これでosやnumpyは認識してくれて補完するようになりました。
ただ、o3dの後ろの字は白いままで問題も消えません。
どうすればよいでしょうか。
補足情報(FW/ツールのバージョンなど)
python3.9.13,open3D 0.17.0を使用しています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/07/10 03:02