如何在Anaconda(Python 3.6)中从GitHub安装libfreenect?
在Anaconda Python 3.6环境中从源码安装libfreenect的亲测指南
嘿,我之前帮同事搞定过一模一样的问题——在Anaconda Python 3.6环境里从源码装libfreenect,踩了不少坑,下面是亲测有效的完整步骤,跟着来肯定能成:
一、先把Anaconda环境的基础配置搞对
- 首先激活你的Python 3.6 Anaconda环境,假设你的环境名叫
py36_kinect,执行命令:conda activate py36_kinect - 安装编译必须的依赖工具和库,源码编译缺这些肯定跑不起来:
👉 注意:不同系统略有差异:conda install cmake make gcc-c++ pkg-config libusb-1.0-0- Linux用户可能需要额外装
libudev-dev(用系统包管理器,比如apt install libudev-dev) - macOS用户如果conda装不了libusb,可以用Homebrew装
brew install libusb
- Linux用户可能需要额外装
二、克隆源码并配置CMake(关键!指定Anaconda环境)
- 先把libfreenect的源码克隆到本地:
git clone https://github.com/OpenKinect/libfreenect.git cd libfreenect mkdir build && cd build - 这一步是核心:用CMake指定当前激活的Anaconda Python 3.6作为编译目标,避免和系统自带Python混淆,执行下面的命令:
解释下参数:cmake \ -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX \ -DBUILD_PYTHON=ON \ -DPYTHON_EXECUTABLE=$CONDA_PREFIX/bin/python \ -DPYTHON_INCLUDE_DIR=$CONDA_PREFIX/include/python3.6m \ -DPYTHON_LIBRARY=$CONDA_PREFIX/lib/libpython3.6m.so \ ..CMAKE_INSTALL_PREFIX:把库直接装到当前Anaconda环境里,不用全局安装BUILD_PYTHON:开启Python绑定的编译- 后面三个参数:明确告诉CMake用Anaconda里的Python3.6,别找错地方
三、编译+安装到Anaconda环境
- 开始编译,
-j后面的数字可以改成你电脑的CPU核心数,比如8核就写-j8,编译更快:make -j4 - 编译完成后,安装到你的Anaconda环境:
make install
四、验证安装是否成功
- 先确保系统能找到刚安装的库:
- Linux/macOS用户执行:
(如果想永久生效,可以把这句话加到你的export LD_LIBRARY_PATH=$CONDA_PREFIX/lib:$LD_LIBRARY_PATH~/.bashrc或~/.zshrc里) - Windows用户:把
Anaconda环境目录\lib路径添加到系统环境变量PATH里
- Linux/macOS用户执行:
- 打开Python测试:
如果能正常打印版本号,说明安装成功啦!import freenect print(freenect.__version__)
踩过的坑&排查技巧
- 编译时提示Python相关错误:检查CMake命令里的Python路径是否正确,比如Windows系统的
PYTHON_INCLUDE_DIR是$CONDA_PREFIX/include/python3.6,没有m后缀 - 运行时提示找不到库:确认
LD_LIBRARY_PATH(Linux/macOS)或PATH(Windows)已经包含Anaconda环境的lib目录 - Python3.6兼容性问题:如果遇到语法错误,建议切换到稳定分支
git checkout v0.6.2,这个版本对Python3.6的支持更稳妥
内容的提问来源于stack exchange,提问作者R.Safouene
相关产品推荐
相关产品推荐

