三维点云处理环境相关-ubuntu安装numpy、open3d

一. ubuntu 安装numpy open3d

你是想在 Ubuntu 上 装 numpy ,同时还要 open3d (而且你提到"open3d open/一开就用/直接装好"这种意思),我建议走虚拟环境路线,成功率最高、也不污染系统 Python。

下面给你一套"一次装好 + 验证"的命令(从创建环境到测试)。

1)创建并进入虚拟环境

复制代码
sudo apt update
sudo apt install -y python3 python3-pip python3-venv

python3 -m venv venv
source venv/bin/activate
python -m pip install --upgrade pip setuptools wheel

2)安装 numpy 和 open3d

复制代码
pip install numpy open3d

3)验证是否安装成功

复制代码
python -c "import numpy as np; print('numpy:', np.__version__)"
python -c "import open3d as o3d; print('open3d:', o3d.__version__)"

二. Complete output from command python setup.py egg_info: Traceback (most recent call last): File "", line 1, in IOError: [Errno 2] No such file or directory: '/tmp/pip-build-QlCbFd/Send2Trash/setup.py 这个错误怎么处理

这个报错本质是:你在安装某个依赖包时(Send2Trash 这个包),pip 试图在临时构建目录里找到 Send2Trash/setup.py,但发现文件不在了(常见原因:下载/解包不完整、缓存损坏、权限/临时目录问题、或包源异常)。

你按下面顺序排查,基本都能解决(每一步做完就再试安装一次):

1)先换到虚拟环境(如果你没用的话强烈建议)

在你的项目目录下:

复制代码
python3 -m venv venv
source venv/bin/activate
pip install -U pip setuptools wheel

2)清理 pip 缓存并强制重新下载

复制代码
pip cache purge
pip install --no-cache-dir -U pip setuptools wheel

然后再执行你原本的安装命令(例如装 open3d / numpy 或者你正在装的那个包):

复制代码
pip install --no-cache-dir <你的包名>

3)检查 pip/网络来源是否异常(用官方源重试)

复制代码
pip install --no-cache-dir --index-url https://pypi.org/simple <你的包名>

4)确认你没有把包名/路径搞错

报错里出现了类似:
/tmp/pip-build-.../Send2Trash/setup.py

说明 pip 解包后应该有 setup.py。如果你是从本地源码安装(例如 pip install ./Send2Trash),请确认:

  • 你当前目录下真的有 Send2Trash 源码目录
  • 里面确实有 setup.py 或者 pyproject.toml

5)把"下一次安装需要的核心依赖"先装好再装目标包

复制代码
bashpip install --no-cache-dir -U setuptools wheel
pip install --no-cache-dir open3d

三. 激活 Python 虚拟环境并在虚拟环境里运行程序"的最常用做法(以 venv 为例)。

1) 安装 venv 依赖(只需要一次)

有些系统可能没有自带 venv 模块,先装一下:

复制代码
sudo apt update
sudo apt install -y python3-venv

2) 进入项目目录并创建虚拟环境

假设你的项目在当前目录(你也可以先 cd 到你的项目路径):

复制代码
mkdir -p myproject
cd myproject
python3 -m venv .venv

创建完成后,虚拟环境目录通常在:./.venv/

3) 激活虚拟环境

复制代码
source .venv/bin/activate

激活成功后,你的命令行最前面一般会出现类似 (.venv) 的前缀。

验证一下当前用的是虚拟环境的 Python:

复制代码
which python
python -V

4) 在虚拟环境里安装依赖

例如你之前遇到过 pip 安装问题,可以先升级工具再装:

复制代码
python -m pip install --upgrade pip setuptools wheel

然后安装你需要的包(示例):

复制代码
pip install numpy open3d

你也可以用 python -m pip ...,避免 pip 指到别的 Python。

5) 在虚拟环境里运行程序

比如你的脚本叫 main.py

复制代码
python main.py

或者如果你用的是 requirements:

复制代码
pip install -r requirements.txt
python main.py

6) 退出虚拟环境

复制代码
deactivate

四. venv) hal18@ubuntu:~/Downloads/3D-Point-Cloud-Analytics-master/workspace/assignments/01-introduction source venv/bin/activate (venv) hal18@ubuntu:\~/Downloads/3D-Point-Cloud-Analytics-master/workspace/assignments/01-introduction python3.6 00_off_to_ply.py Traceback (most recent call last): File "00_off_to_ply.py", line 8, in import numpy as np ModuleNotFoundError: No module named 'numpy' 但是我已经装了numpy

你这个报错说明:当前这个虚拟环境(venv)里没有 numpy

"我已经装了 numpy"很可能是你把 numpy 装在系统 Python另一个环境 里了,但你现在运行用的是当前目录下这个 venv 的 Python。

在虚拟环境里,把下面 3 条命令都执行一下,把输出发我(不用截图也行,直接复制粘贴):

复制代码
which python
python -V
python -c "import sys; print(sys.executable); import numpy; print('numpy ok', numpy.__version__)"

另外,你也可以直接检查 pip 指向的是不是虚拟环境里的 pip:

复制代码
python -m pip -V

临时解决(通常一条命令就好)

(venv) 环境里先重装 numpy(装到当前 venv):

复制代码
bashpython -m pip install -U pip setuptools wheel
python -m pip install numpy

装完再运行:

复制代码
python3.6 00_off_to_ply.py

注意:你现在命令是 python3.6 ...,但你的环境激活后一般用的是 python。如果系统里 python3.6 不是 venv 里的那个解释器,就还会找不到 numpy。等你把上面 which python / sys.executable / pip -V 的输出发我,我就能准确判断该用 python 还是 python3.6 来跑。

五. pip install --no-cache-dir 这里--no-cache-dir的含义是什么?

pip install --no-cache-dir 里的 --no-cache-dir 表示:

  • 不使用/不写入 pip 的缓存目录(pip 通常会把下载到的包缓存起来以便下次更快安装)
  • 安装时会直接下载并立刻使用,不保留缓存

常见影响:

  • 优点:避免用到旧缓存导致的异常;在某些环境里能减少缓存带来的磁盘问题。
  • 缺点 :可能会变慢一些(因为下次安装不会复用缓存),同时网络/下载开销会更明显。
相关推荐
zzipeng1 小时前
IMX6ULL CAN通讯应用学习
linux·运维·网络
代码中介商1 小时前
Linux多线程编程完全指南(下):线程同步与互斥锁
linux·redis·线程·互斥锁
一个人旅程~1 小时前
Win旧版或win10部分版本如何解除260字符长路径名限制?
linux·windows·经验分享·电脑
乌托邦的逃亡者1 小时前
Ubuntu主机中,为一个网卡设置多个IP地址
服务器·网络·ubuntu
iEdHu1 小时前
LinuxDO | L站 | Linux.do邀请码2026最新获取方式【邀请链接每日分享】
linux·经验分享·其他·社交电子
中国lanwp1 小时前
CentOS 7 搭建 NFS Server 服务端 + 客户端 完整一键配置
linux·运维·centos
charlie1145141912 小时前
嵌入式Linux驱动开发(8)——内存映射 I/O - 别拿物理地址当指针用
linux·开发语言·驱动开发·c·imx6ull
a2591748032-随心所记2 小时前
android拆解super.img内容
android·linux·运维·服务器
实心儿儿2 小时前
Linux —— 文件系统_路径解析_软硬连接
linux·运维·服务器