例如我们执行如下命令:
cd Python-3.7.1
./configure --prefix=/usr/local/python3 --with-ssl
“–enable-optimizations”这个参数会启用配置文件引导的优化(PGO)和链接时间优化(LTO)。两者都是昂贵的优化,会减慢构建过程,但会显着提高速度(我记得阅读的内容大约有10-20%)。
./configure --enable-optimizations --prefix=/usr/local/python3
可以通过 ./configure –help 查看详细的说明帮助。
3、make编译make install安装
※如果有需要,会进行 make depend(一种makefile的规则,通过扫描一个目录下的所有C\C++ 代码,从而判断出文件之间的依赖关系,如a.cc文件中调用了b.h(如以形势include
从Makefile中读取指令,根据makefile制定的规则,将c\c++文件编译成*.o文件,然后进一步生成可执行文件。大多数的源代码包都经过这一步进行编译,(当然有些perl或python编写的软件需要调用perl或python来进行编译)。
make && make altinstall
注意:如果 在make过程中出现 error ,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码。
4、最后运行make clean
删除一些临时文件(删除源代码(C\C++ code)生成的执行文件和所有的中间目标文件)
第三步:创建软连接
----
[root@localhost local] ln -s /usr/local/python3/bin/python3 /usr/bin/python3
[root@localhost local] ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
最后运行python3查看是否安装成功
[root@localhost local] python3
总结安装过程
----
绝大数开源软件都是公布源代码的,源代码一般被打包为tar.gz归档压缩文件,然后手工编译为二进制可执行文件
./configure# 检查编译环境/相关库文件/配置参数,生成makefile
make # 对源代码进行编译,生成可执行文件
make install # 将生成的可执行文件安装到当前计算机中特点;
兼容性好/可控制性好/开源软件会大量使用其他开源软件的功能,要解决大量的依赖关系
总结报错解决
----
问题一:安装时报错ModuleNotFoundError: No module named ‘_ctypes’的解决办法
1、执行如下命令:
yum install libffi-devel
2、从”./configure …”重新安装
问题二:pip3 install时报错“pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.”
先安装openssl-dev,然后重新编译安装,只是在编译的过程中加入 --enable-optimizations
ubuntu:
sudo apt-get install libffi-dev
或者
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl
sudo apt-get install libffi-dev
centos7
yum install libffi-devel -y
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/113878.html