You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

树莓派Pi4通过apt-get为指定Python版本安装python3-pycoral包的问题

树莓派Pi4通过apt-get为指定Python版本安装python3-pycoral包的问题

我完全理解你的困扰——apt-get确实会严格绑定系统默认的python3版本来安装包,单纯改终端的alias根本影响不到它的安装逻辑。这里给你几个可行的解决方案,按推荐程度排序:

方案一:临时切换系统默认Python版本安装(最稳妥)

apt-get是根据系统/usr/bin/python3软链接指向的版本来决定包安装路径的,所以我们可以用update-alternatives临时切换默认版本,安装完再切回去,避免影响系统其他工具:

  1. 先把你的Python3.9和3.11加入备选版本列表:

    sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 1
    sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 2
    

    数字代表优先级,2比1高,所以默认会是3.11,后面我们手动切换即可。

  2. 切换默认Python3到3.9:

    sudo update-alternatives --config python3
    

    执行后会弹出选项列表,输入对应Python3.9的序号回车确认。

  3. 现在安装python3-pycoral:

    sudo apt-get install python3-pycoral
    

    这时候apt会自动把包安装到Python3.9的对应目录下。

  4. 安装完成后,一定要切回默认的3.11,避免破坏系统依赖:

    sudo update-alternatives --config python3
    

    选择对应3.11的序号回车即可。

方案二:手动解压deb包并复制到Python3.9目录

如果不想碰系统默认Python版本,可以直接下载deb包,解压后把文件复制到3.9的site-packages里:

  1. 下载python3-pycoral的deb包:

    apt-get download python3-pycoral
    

    这会在当前目录生成一个类似python3-pycoral_xxx.deb的文件。

  2. 创建临时目录解压deb包:

    mkdir temp_pycoral
    dpkg -x python3-pycoral_*.deb temp_pycoral
    
  3. 找到Python3.9的site-packages路径:

    python3.9 -c "import site; print(site.getsitepackages()[0])"
    

    输出的路径比如/usr/local/lib/python3.9/site-packages/或者/usr/lib/python3.9/site-packages/

  4. 复制解压后的pycoral文件到这个路径:

    sudo cp -r temp_pycoral/usr/lib/python3/dist-packages/pycoral /path/to/python3.9/site-packages/
    sudo cp temp_pycoral/usr/lib/python3/dist-packages/*.egg-info /path/to/python3.9/site-packages/
    

    /path/to/替换成上一步得到的实际路径。

  5. 清理临时文件:

    rm -rf temp_pycoral python3-pycoral_*.deb
    

⚠️ 注意:这个方法可能会遇到依赖问题,如果pycoral依赖的其他库没有在Python3.9里安装,可能需要手动用python3.9 -m pip install补上。

额外提示:其实可以试试pip安装

你提到没有pip版本,但pycoral官方是提供对应Python3.9的pip包的,比如针对arm64架构的Pi4,可以直接用:

python3.9 -m pip install pycoral==2.0.0

如果之前安装失败,可能是没指定版本或者架构,不妨试试这个方法,比apt更灵活。

备注:内容来源于stack exchange,提问作者phil_fill

火山引擎 最新活动