Install & Compatibility
Where this runs
tested against v0.19.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
py 3.10
✕ build_error
✓ 37.95s
py 3.11
✕ build_error
✓ 35.95s
py 3.12
✕ build_error
✓ 35.55s
py 3.13
✕ build_error
✕ build_error
py 3.9
✕ build_error
✓ 42.4s
1741MB installed
● package 1741MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
open3d
✓ import open3d as o3d
This quickstart code generates a random point cloud and visualizes it using Open3D's `draw_geometries` function. It demonstrates the basic import pattern, point cloud creation, and visualization. Ensure `numpy` is installed for this example.
import open3d as o3d
import numpy as np
# Create a simple point cloud
pcd = o3d.geometry.PointCloud()
points = np.random.rand(100, 3)
pcd.points = o3d.utility.Vector3dVector(points)
# Optional: Add colors (random for demonstration)
colors = np.random.rand(100, 3)
pcd.colors = o3d.utility.Vector3dVector(colors)
# Visualize the point cloud
o3d.visualization.draw_geometries([pcd], window_name='Quickstart Point Cloud',
width=800, height=600,
left=50, top=50,
mesh_show_back_face=False,
mesh_show_wireframe=False)
Debug
Known issues
breakingStarting with Open3D v0.15, official Conda packages are no longer supported. Users should `pip install open3d` inside their Conda virtual environment.fixUse `pip install open3d` even within a Conda environment instead of `conda install open3d`.
affects: >=0.15.0
breakingIn Open3D v0.19.0, the `lambda` parameter in `orient_normals_consistent_tangent_plane` was changed to `lambda_penalty`. Additionally, if an image read operation fails, any old data held within the `Image` object is now cleared to prevent accidental use of stale data.fixUpdate `lambda` to `lambda_penalty` in affected functions. Be aware of `Image` object data being cleared on read failure and re-check `Image` object validity.
affects: 0.19.0
gotchaOn macOS, the Open3D viewer (especially v0.18+) may not work correctly with file associations and might not open a blank window when launched without a file, due to a GLFW update.fixFor macOS, consider using the v0.18 viewer or work around by always opening files explicitly. For scripting, this might not be a direct issue.
affects: >=0.18.0
gotchaDue to CXX ABI incompatibilities on Linux between PyTorch/TensorFlow and Open3D when building from source, official Python wheels for Open3D (v0.19.0) on Linux only support PyTorch, not TensorFlow.fixIf TensorFlow support is required on Linux, users must build Open3D from source in Docker with specific flags (`BUILD_PYTORCH_OPS=OFF BUILD_TENSORFLOW_OPS=ON`).
affects: >=0.19.0 (Linux)
gotchaFor interactive visualization of large point clouds (tens to hundreds of millions of points), always downsample the data to a few million points or less to ensure comfortable interactive frame rates. For heavy processing (e.g., ICP, filtering) on large datasets, utilize the `open3d.t.geometry.PointCloud` tensor-based API for potential GPU acceleration.fixApply `pcd.voxel_down_sample()` for visualization. For processing, explore `open3d.t` modules and device selection (e.g., `o3d.core.Device('CUDA:0')`). affects: All
gotchaAn older, deprecated package `open3d-python` exists on PyPI. Always use `open3d` for current installations to get the latest features and fixes.fixEnsure your `pip install` command specifies `open3d` and not `open3d-python`.
affects: All
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'open3d'
This error most commonly occurs when Open3D is not installed, or it is installed for a different Python environment than the one currently being used, or there's an incompatibility with the Python version.
fixEnsure Open3D is installed in the correct environment with a compatible Python version (check Open3D's official documentation for supported Python versions for your Open3D version). Use `pip install open3d` or `python -m pip install open3d` in your active environment. If using Anaconda, try `conda install -c open3d-admin open3d`.
ERROR: Could not find a version that satisfies the requirement open3d (from versions: none) / ERROR: No matching distribution found for open3d
This usually indicates that the installed Python version is not supported by the available Open3D wheels on PyPI, or that `pip` itself is outdated.
fixUpgrade `pip` to the latest version (`python -m pip install --upgrade pip`). Then, verify your Python version is compatible with the latest Open3D release (Open3D 0.19.0 supports Python 3.8-3.12). If your Python version is not supported, consider creating a virtual environment with a supported Python version (e.g., Python 3.11).
AttributeError: module 'open3d' has no attribute '...' (e.g., 'PointCloud', 'registration')
This error occurs when a function or class that was previously accessible directly under the `open3d` module has been moved to a submodule (e.g., `open3d.geometry`, `open3d.visualization`, `open3d.registration`, `open3d.io`).
fixUpdate your code to import the specific submodule where the attribute resides. For example, instead of `o3d.PointCloud()`, use `o3d.geometry.PointCloud()`. Similarly, `o3d.registration` functions are now under that submodule. Always refer to the latest Open3D documentation for current API structure.
TypeError: (): incompatible function arguments.
This error typically arises when an Open3D function is called with arguments of incorrect types or shapes, often expecting an Open3D-specific data structure (like `open3d.utility.Vector3dVector` or `Vector3iVector`) but receiving a standard Python list or NumPy array, or due to changes in API signatures between versions.
fixConvert Python lists or NumPy arrays to the expected Open3D utility vector types using functions like `o3d.utility.Vector3dVector(numpy_array)` or `o3d.utility.Vector3iVector(numpy_array)` for vertices and triangles, respectively. Check the Open3D documentation for the specific function's expected argument types and use the correct Open3D API for your installed version.
Open3D WARNING] GLFW Error: Failed to detect any supported platform / [Open3D WARNING] GLFW initialized for headless rendering. error: XDG_RUNTIME_DIR not set in the environment. / [DrawGeometries] Failed creating OpenGL window.
These errors indicate that Open3D's visualization component cannot create an OpenGL window, usually because it's running in a headless environment (e.g., Docker, WSL2 without X server, remote server) that lacks a display server or the necessary graphical dependencies.
fixFor headless environments, consider using Open3D's offscreen rendering capabilities (`o3d.visualization.rendering.OffscreenRenderer`) or the Web Visualizer for Jupyter environments (`o3d.web_visualizer.draw`). If on WSL2, ensure an X server is running and configured correctly, and try setting `export XDG_SESSION_TYPE=x11` in your environment.
Upgrade
Version history
0.19.0latest on PyPI · released Jan 8, 2025
Audit
Dependencies
numpyoptionalCommonly used for array manipulation and data interchange with Open3D geometries.
matplotliboptionalUsed in some tutorials and examples for plotting data.
opencv-pythonoptionalRequired for certain advanced features, particularly in the reconstruction system.
torchoptionalRequired for Open3D-ML PyTorch backend operations.
tensorflowoptionalRequired for Open3D-ML TensorFlow backend operations.