liuhongdi@lhdpc:~$ python3 --version
Python 3.11.6
查看linux的版本:
liuhongdi@lhdpc:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 23.10
Release: 23.10
Codename: mantic
说明:linux主要分为debian系统和redhat系,我们这里以debian系的ubuntu为例
1,配置用的选项:
3. 配置 Python — Python 3.12.0 文档构建要求: 编译 CPython 所需的特性: C11 编译器。 可选的 C11 特性 不是必须的。, 对 IEEE 754 浮点数和 浮点 Not-a-Number (NaN) 的支持。, 对线程的支持。, 用于 ssl 和 hashlib 模块的 OpenSSL 1.1.1 或更新版本。, 在 Windows 上,需要 Microsoft Visual Studio 2017 或更新版本...https://docs.python.org/zh-cn/3/using/configure.html
2,安装依赖包的文档
Setup and buildingThese instructions cover how to get a working copy of the source code and a compiled version of the CPython interpreter (CPython is the version of Python available from https://www.python.org/). It...https://devguide.python.org/getting-started/setup-building/#install-dependencies
可能涉及到的依赖包,文档有讲到,如图:
说明:刘宏缔的go森林是一个专注golang的博客,
网址:https://blog.csdn.net/weixin_43881017
原文:
说明:作者:刘宏缔 邮箱: [email protected]
1,安装依赖包:
apt-get install build-essential gdb lcov pkg-config libbz2-dev libffi-dev libgdbm-dev libgdbm-compat-dev liblzma-dev libncurses5-dev libreadline6-dev libsqlite3-dev libssl-dev lzma lzma-dev tk-dev uuid-dev zlib1g-dev
2,得到下载链接
访问官网的下载页面:
https://www.python.org/downloads/https://www.python.org/downloads/
如图:
我们在Gzipped source tarball这个链接上右击,选择:复制链接地址
3,从命令行下载:
创建源代码文件和安装程序的目录
sudo mkdir /usr/local/source
sudo mkdir /usr/local/soft
进入保存源代码的目录,
cd /usr/local/source
用wget下载我们所复制的下载链接
wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz
说明:wget是linux上执行下载的客户端命令,如果提示找不到此程序,
可以执行下面的命令进行安装
sudo apt-get update && sudo apt-get install wget
4,下载完成之后解压缩:
说明:
tar命令的用途是打包备份文件
参数 z:用gzip/gunzip压缩或解压
x:提取文件
v:verbose:显示命令的执行过程
f:指定要解压的文件名
tar -zxvf Python-3.12.0.tgz
5,配置:
configure的用途:检测安装环境,配置安装参数,生成供编译用的Makefile
–prefix :指定安装路径
–enable-optimizations: 用来启动优化
./configure --prefix=/usr/local/soft/python3.12 --enable-optimizations
6,编译:
make负责生成目标文件
make
7,安装
make install:负责把编译生成的目标文件安装到预定的目录
make install
参数--version: 打印当前python的版本
/usr/local/soft/python3.12/bin/python3 --version
运行结果:
Python 3.12.0
安装过程中不会一帆风顺,中间遇到报错的一些处理:
1,pkg-config报错
报错:
configure: WARNING: pkg-config is missing. Some dependencies may not be detected correctly.
解决:缺少pkg-config这个包,安装即可
apt-get install pkg-config
2,gcc报错
报错信息:
configure: error: no acceptable C compiler found in $PATH
如下:
checking for gcc... no checking for cc... no checking for cl.exe... no checking for clang... no configure: error: in `/usr/local/source/Python-3.12.0': configure: error: no acceptable C compiler found in $PATH See `config.log' for more details
解决:安装gcc套件即可
apt-get install gcc
3,make报错
报错信息
root@lhdpc:/usr/local/source/Python-3.12.0# make Command 'make' not found, but can be installed with: apt install make # version 4.3-4.1build1, or apt install make-guile # version 4.3-4.1build1
解决:提示说make未找到,
按提示执行apt install make即可
apt install make
4,zlib报错
报错信息:
Traceback (most recent call last): File "", line 518, in _get_decompress_func ModuleNotFoundError: No module named 'zlib'
解决:
apt-get install zlib1g-dev
5,openssl报错
报错信息:
Could not build the ssl module! Python requires a OpenSSL 1.1.1 or newer
解决:
apt-get install libssl-dev
最后说一下在linux上安装python不是必需的工作
1,linux上默认已安装了python套件,因为象apt/yum等包管理工具需要python环境,
所以我们可以直接使用系统自带的python,
例如用where命令可以看到自带python的安装路径
liuhongdi@lhdpc:~$ whereis python3
python3: /usr/bin/python3 /usr/lib/python3
/etc/python3 /usr/share/python3 /usr/share/man/man1/python3.1.gz
2,如果对linux不熟悉,可以先从windows或macos环境开始,
这两个环境更容易上手