安装时编译
㈠ 如何把c的文件打包上传到pypi,让用户通过pip安装的时候编译c的代码
使用distutils.core中的Extension函数即可。具体方法为,在setup.py中,添加如下代码:
my_c_exten = Extension('期望编宽槐陪译后的库名', sources=['c库文件的相对路径'])
setup(
...
ext_moles=[my_c_exten],
)
这样,在打包时,指定的c库文明颤件也会被上传慎蠢上去,在用户执行install时,就会在安装目录中(例如是lib/python2.7/site-packages/)中生成把这个c文件进行编译。这样就可以python代码中调用该库了。
㈡ linux下软件编译安装 前提和方式
在linux系统中,如果要用源代码包进行编译安装,就需要用到gcc这个工具,一般安装系统时默认选择都有这个工具包。可以用命令rpm -qa | grep gcc来看看是否安装gcc。
源代码包安装一般分三步:
1.解压之后,进入解压的目录中,运行./configure,后面还可以加参数,具体情况根据不同的软件来设定。
2.运行make进行编译,如果系统版本还有其他条件都支持的话,不会报什么错。
3.运行make install进行安装就可以了。
㈢ linux上的编译安装的基本概念是什么,具体的流程又是怎么个样子
计算机运行的程序都是二进制的代码,那么我们所用的编程语言都是自然语言中的字符,那么就需要有一种机制来将这些转化成二进制代码,那么根据转化机制不一样,编程语言(软件 产生的源头)分两大类 解释型 编译型,解释型就不说了,编译型就是在写好程序的源码以后对程序进行编译,编译成二进制的可执行代码。
在linux中很多软件的源码都会伴随着软件一起发布,软件就是经过编译的一些二进制的文件,这些二进制文件由源码编译而来。所以当我们拿到了软件的源码的时候,可以根据源码编译出软件,然后对软件进行安装,这就是你所说的编译安装了,对于非电脑专业的人不需要了解那么多,涉及的东西比较多,要知道在编译的时候需要设置编译参数的,,
所以会拿deb rpm包来安装就行了。。使用打包好的二进制包安装的另外的好处就是可以由包管理系统进行管理可以方便的对软件包进行安装升级和卸载,如果是源码编译那么就需要自己手动的管理了。
具体的流程没那么复杂,linux软件发布的源码都是有标准格式 的,通常是tar.gz tar.bz2这样的压缩包,
tar xvf xxx.tar.gz 解压源码包
cd xxx 进入源码目录
more INSTALL 或者more README 阅读源码包里的安装说明,看不懂英语的可以跳过这步
./configure 参数 配置编译参数;最常见的是prefix=安装路径 这样可以把软件安装到一个指定目录而不是安装到系统的文件结构中(linux的文件结构可以参考FHS标准规范里的定义)
make 当上一步正确的执行后会生成一个Makefile文件,使用make命令可以对软件源码进行编译
make install 安装(可能会需要root权限)
//部分软件还会提供make test 这样的测试,在安装前可以运行make test 来测试软件是否编译正确。