编译安装PaddleClas@openKylin(失败,安装好后报错缺scikit-learn)

server/2025/2/2 4:08:49/

编译安装

前置需求:

手工安装swig和faiss-cpu

pip install swig

pip install faiss-cpu

小技巧,pip编译安装的时候,可以加上--jobs=64来多核编译。

注意先升级pip版本:pip install pip -U

pip3 install faiss-cpu --config-settings="--jobs=64"

--global-option="--jobs=4"

还有一种方法是设置环境变量:export MAKEFLAGS="-j64"

但是感觉效果不是太明显

最终apt install swig

安装PaddleClas

下载PaddleClas源代码:

git clone https://github.com/PaddlePaddle/PaddleClas

编译安装

cd PaddleClas && python setup.py install

这里一直过不去,看issue,发现只有python3.7才能安装faiss-cpu ,解决的方法是去掉fass-cpu的包依赖再编译安装

修改requirements.txt 文件,去掉faiss-cpu,然后再执行

pip install -r requirements.txt  -i https://mirror.baidu.com/pypi/simple
python3 setup.py install 

最终去掉了faiss-cpu matplotlib scikit-learn 之后编译成功。

但是执行的时候报错缺scikit-learn

先搁置

调试

编译安装报错

Best match: faiss-cpu 1.8.0
Processing faiss-cpu-1.8.0.tar.gz
Writing /tmp/easy_install-1s0d811q/faiss-cpu-1.8.0/setup.cfg
Running faiss-cpu-1.8.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-1s0d811q/faiss-cpu-1.8.0/egg-dist-tmp-9rxoiq57
/usr/local/lib/python3.8/dist-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!

        ********************************************************************************
        Please avoid running ``setup.py`` directly.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.

        See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
        ********************************************************************************

!!
  self.initialize_options()
error: Setup script exited with error: command 'swig' failed: No such file or directory

尝试手工安装swig

pip install swig

速度非常慢,大约10分钟吧。

apt install swig之后和pip install swig之后,还是报错

报错ModuleNotFoundError: No module named 'swig'

      building 'faiss._swigfaiss' extension
      swigging faiss/faiss/python/swigfaiss.i to faiss/faiss/python/swigfaiss_wrap.cpp
      swig -python -c++ -Doverride= -doxygen -Ifaiss -I/tmp/pip-build-env-6iratz6b/overlay/lib/python3.8/site-packages/numpy/core/include -Ifaiss -I/usr/local/include -DSWIGWORDSIZE64 -o faiss/faiss/python/swigfaiss_wrap.cpp faiss/faiss/python/swigfaiss.i
      Traceback (most recent call last):
        File "/usr/local/bin/swig", line 5, in <module>
          from swig import swig
      ModuleNotFoundError: No module named 'swig'
      error: command '/usr/local/bin/swig' failed with exit code 1
      [end of output]

先不装fass-cpu了。

提高编译速度

加上这个

export MAX_JOBS=64

安装opencv库失败

先屏蔽

安装scipy失败

手工apt安装

apt install python3-scipy

安装scikit-learn失败

安装1.0版本试试,还是失败

安装matplotlib失败

先屏蔽


http://www.ppmy.cn/server/164243.html

相关文章

基于新一代电子电器架构的SOA服务设计方法

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 简单&#xff0c;单纯&#xff0c;喜欢独处&#xff0c;独来独往&#xff0c;不易合同频过着接地气的生活…

刷题记录 贪心算法-3:376. 摆动序列

题目&#xff1a;376. 摆动序列 难度&#xff1a;中等 如果连续数字之间的差严格地在正数和负数之间交替&#xff0c;则数字序列称为 摆动序列 。第一个差&#xff08;如果存在的话&#xff09;可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。 例如…

【go语言】函数

一、什么是函数 函数是入门简单精通难&#xff0c;函数是什么&#xff1f;&#xff1f;&#xff1f; 函数就是一段代码的集合go 语言中至少有一个 main 函数函数需要有一个名字&#xff0c;独立定义的情况下&#xff0c;见名知意函数可能需要有一个结果&#xff0c;也可能没有…

CSRF 跨站请求伪造漏洞

原理 当一个网站A使用Cookie&#xff0c;存储Session或Token来用于单点登录和权限操作时。浏览器将Cookie存储到浏览器中。当用户在访问另一个网站V时&#xff0c;黑客可以通过伪造表单&#xff0c;向网站A发送修改重要信息(如密码)、支付等操作&#xff0c;浏览器会自动携带C…

深入剖析 Docker 的镜像分层存储机制

目录 一、基本原理 镜像构成 UnionFS 二、工作方式 镜像构建时 容器启动时 三、优势 共享与复用 高效存储和传输 快速镜像构建 可追溯性和可维护性 四、相关命令 查看镜像分层 基于已有镜像创建新镜像 Docker 凭借其卓越的性能和极高的灵活性,已然成为众多开发者…

算法随笔_30: 去除重复字母

上一篇:算法随笔_29:最大宽度坡_方法3-CSDN博客 题目描述如下: 给你一个字符串 s &#xff0c;请你去除字符串中重复的字母&#xff0c;使得每个字母只出现一次。需保证 返回结果的字典序最小&#xff08;要求不能打乱其他字符的相对位置&#xff09;。 示例 1&#xff1a; …

汽车网络信息安全-ISO/SAE 21434解析(中)

目录 第七章-分布式网络安全活动 1. 供应商能力评估 2. 报价 3. 网络安全职责界定 第八章-持续的网络安全活动 1. 网路安全监控 2. 网络安全事件评估 3. 漏洞分析 4. 漏洞管理 第九章-概念阶段 1. 对象定义 2. 网路安全目标 3. 网络安全概念 第十章 - 产品开发 第十…

Docker 仓库管理

Docker 仓库管理 引言 随着容器技术的兴起,Docker 已成为最流行的容器化平台之一。在Docker的生态系统中,仓库(Repository)是至关重要的组成部分。一个有效的仓库管理策略可以帮助开发者更高效地构建、测试、部署和管理容器应用。本文将深入探讨Docker仓库管理的相关知识…