pip安装swig@FreeBSD

SWIG (Simplified Wrapper and Interface Generator) 是一个用于连接 C/C++ 代码与其他高级编程语言(如Python、Java、C# 等)的工具。它允许开发人员将现有的 C/C++ 代码封装成可以在其他语言中调用的接口,而无需手动编写大量的代码。

SWIG 的工作原理是,它读取 C/C++ 头文件,并根据这些头文件自动生成包装代码,用于将原生的 C/C++ 函数和数据结构映射到目标语言中。这使得开发人员可以利用现有的 C/C++ 代码库,并在其他语言中使用它们,而无需重新实现相同的功能。

SWIG 支持多种目标语言,包括但不限于 Python、Java、C#、Ruby、Perl、PHP 等,因此在跨平台开发和混合语言项目中非常有用。它提供了灵活的配置选项,允许开发人员根据项目的需要进行定制,并具有广泛的文档和社区支持。

因为要安装GPT学术优化这个项目GitHub - binary-husky/gpt_academic: 为GPT/GLM等LLM大语言模型提供实用化交互接口,特别优化论文阅读/润色/写作体验,模块化设计,支持自定义快捷按钮&函数插件,支持Python和C++等项目剖析&自译解功能,PDF/LaTex论文翻译&总结功能,支持并行问询多种LLM模型,支持chatglm3等本地模型。接入通义千问, deepseekcoder, 讯飞星火, 文心一言, llama2, rwkv, claude2, moss等。,在安装gpt_academic依赖库时发现安装swig这里卡住,

于是尝试pip 单独安装swig

pip install swig

结果报错:

  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/local/bin/python3.9 /tmp/pip-standalone-pip-nm1izwjw/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-94b1bbsb/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://mirror.baidu.com/pypi/simple -- 'setuptools>=64' wheel scikit-build 'setuptools_scm>=8'
       cwd: None
  Complete output (9 lines):
  Looking in indexes: https://mirror.baidu.com/pypi/simple
  Collecting setuptools>=64

为了解决问题而采取的措施步是:

1、 pkg install swig4 安装swig4版本

pkg安装好之后,发现python3.9下pip 安装swig还是失败。

2、使用python3.10版本的pip安装

怀疑是python3.9版本太低了,尝试换用python3.10版本的pip安装swig,结果报错:

checking for GNU M4 that supports accurate traces... configure: error: no acceptable m4 could be found in $PATH.
      GNU M4 1.4.6 or later is required; 1.4.16 or newer is recommended.

      [end of output]
 
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for swig
Failed to build swig
ERROR: Could not build wheels for swig, which is required to install pyproject.toml-based projects

显然报错信息提示缺少GUN M4,于是pkg安装m4

3、 使用pkg install m4 命令来安装m4

pkg安装好m4后,再pip安装swig:

pip install swig ,乌拉,在经过了编译安装后,python下的swig终于安装成功了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/552488.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

编程入门(三)【GPT工具的使用】

读者大大们好呀!!!☀️☀️☀️ 🔥 欢迎来到我的博客 👀期待大大的关注哦❗️❗️❗️ 🚀欢迎收看我的主页文章➡️寻至善的主页 文章目录 前言背景了解GPT工具使用技巧GPT工具在学习和工作中的应用 前言 背景了解 2…

OpenStack云平台实战

1、环境准备 主机CPU数量内存硬盘IPV4发行版controller48GB100GBens33: 192.168.110.27/24 esn34: 192.168.237.131/24CentOS 7.9compute48GB200GB、100GBens33: 192.168.110.26/24 esn34: 192.168.237.132/24CentOS 7.9 1.1 虚拟机安装部署 1.1.1 创建虚拟机 这里16或者17都…

工业级3D可视化工具HOOPS Visualize, 快速构建移动端和PC端工程应用程序!

HOOPS Visualize是一款强大的工业级3D渲染引擎,帮助您打造出众的工程应用程序。HOOPS Visualize的基石是图形内核,这是一种全功能的,以工程为重点的场景图技术,我们称为Core Graphics。Core Graphics集成到一个框架中,…

【STM32】嵌入式实验二 GPIO 实验 (前三个设计)

1. 按键亮灯 设计 GPIO 实验项目 1,功能:当按键 KB1 按下时,实验板上全彩发光二极管周边 的发光二极管全亮,当按键 KB2 按下时跑马灯 D0 闪亮。 实验要求基于寄存器的GPIO配置,所以需要手动操作寄存器来配…

轻松上手Flowise:本地部署与最佳实践

🧙‍♂️ 诸位好,吾乃斜杠君,编程界之翘楚,代码之大师。算法如流水,逻辑如棋局。 📜 吾之笔记,内含诸般技术之秘诀。吾欲以此笔记,传授编程之道,助汝解技术难题。 &#…

Sigmoid激活函数

Sigmoid函数是一种常用的激活函数,其数学公式为: σ ( x ) 1 1 e − x \sigma(x) \frac{1}{1 e^{-x}} σ(x)1e−x1​ 其中, x x x 是函数的输入, σ ( x ) \sigma(x) σ(x) 是函数的输出。 sigmoid函数在神经网络中常被用于…

32.5k star!发现一个新的 API 调试工具!postman 要被替换了【文末有项目源码】

在软件开发过程中,API(应用程序接口)扮演着至关重要的角色。为了确保 API 的可靠性和性能,开发人员需要一种高效的方式来测试和调试它们。这方面的工具,大家经常用到的应该就是 postman 了。不过,今天想要给…

算法与数学

学过数据结构的对这个应该都不会感到陌生,但是乍一看原来是数学,然而事实就是如此。二分法的数学源头就是这个。 还有前缀和的 我们这里所说的前缀和其实就是我们在高中学的数列中的Sn(前n项和),只是我们这里需要将S1 , S2 , S3 , S4 …… S…

用户与组管理

一、用户分类 管理员用户:root 程序用户 普通用户 二、用户列表文件 查看用户列表文件 cat /etc/passwd 注:etc/passwd内容总共分为7个区域,每个区域用“:”分隔开 第一列:用户名。区分大小写;用户名可以使…

多轴机械臂/正逆解/轨迹规划/机器人运动学/Matlab/DH法 学习记录03——机械臂运动学逆解

系列文章目录 本科毕设正在做多轴机械臂相关的内容,这里是一个学习机械臂运动学课程的相关记录。 如有任何问题,可发邮件至layraliufoxmail.com问询。 1. 数学基础 2. 机械臂几何法与DH表示法 3. 机械臂运动学逆解 文章目录 系列文章目录一、引言1.手臂…

Impala Daemon无法启动问题记录(UNIX 域套接字路径不存在)

前言:集群扩节点,新加节点的Impala Daemon起不起来了 去后台查看报错日志 上午11点19:08.002分 ERROR cc:288 Invalid short-circuit reads configuration:Impala cannot read or execute the parent directory of dfs.domain.socket.path 上午11点19:…

【SAP NWDI】服务开启:SLD,CM,CMS(二)

一、启用System Landscape Directory 二、启用 NWDI using CMS

pycharm 更换Eclipse 的按键模式 keymap

流程 整体来说比较简单,其实只要下载一个eclipse keymap插件就可以完成 首先 ctrl alt s 打开设置页面,找到 plugin 安装完成后还是在 settings 下切换到 keymap即可以看到eclipse 的按键设置出现了,应用后ok 即可完成 再去试试&#x…

考研数学|「基础」和「强化」阶段分别怎么做?

从目前考研数学的趋势来看,更加注重数学基础的理解和计算量。也就是基础知识和计算,如何锻炼这两种能力就显得尤为重要。希望我的复习经验可以给到读者一些启发。 数学规划 从备考过程来看,数学的复习可以分为三个阶段:1、基础阶…

深入理解GCC/G++在CentOS上的应用

文章目录 深入理解GCC/G在CentOS上的应用编译C和C源文件C语言编译C语言编译 编译过程的详解预处理编译汇编链接 链接动态库和静态库静态库和动态库安装静态库 结论 深入理解GCC/G在CentOS上的应用 在前文的基础上,我们已经了解了CentOS的基本特性和如何在其上安装及…

每日一VUE——响应性原理(重要的一批!!!)

文章目录 响应性原理setup副作用函数Proxy响应式数据 响应式APIreactive和reftoRef和toRefscomputedwatchprovide和inject 响应性原理 响应性本质是监听数据变化,并做出相应的处理 setup setup函数就是生命周期函数,它替代了beforeCreate和created函数…

C语言—深度剖析函数指针,函数指针数组

我们先来看一段代码 #include <stdio.h> void test() {printf("hehe\n"); } int main() {printf("%p\n", test);printf("%p\n", &test);return 0; }输出的是两个地址&#xff0c;这两个地址是 test 函数的地址。 那我们的函数的地址…

WebGl/Three 粒子系统 人物破碎及还原运动

粒子 首先&#xff0c;加载模型&#xff0c;这是万千粒子的前身&#xff0c;模型对象由很多面构成&#xff0c;这些面又是由各个点构成的&#xff0c;所以可以将模型的几何体对象geometry赋给粒子对象&#xff0c;粒子物体用Points方式渲染 bloader.load("obj/female02/Fe…

多线程同步:使用 std::mutex 和 std::unique_lock 保护共享资源

在当今的软件开发中&#xff0c;多线程编程是一项至关重要的技术&#xff0c;它允许程序同时执行多个任务&#xff0c;从而提高应用程序的效率和响应速度。然而&#xff0c;多线程环境也带来了数据安全和一致性的挑战。在多个线程需要访问和修改同一数据资源的情况下&#xff0…

STM32学习和实践笔记(14):按键控制实验

消除抖动有软件和硬件两种方法 软件方法就是在首次检测到低电平时加延时&#xff0c;通常延时5-10ms&#xff0c;让抖动先过去&#xff0c;然后再来检测是否仍为低电平&#xff0c;如果仍然是&#xff0c;说明确实按下。 硬件方法就是加RC滤波电路&#xff0c;硬件方法会增加…