当前位置: 首页 > article >正文

Anolis8.2系统中搭建python环境

文章目录

  • 安装依赖项
    • 依赖项介绍
  • 下载python源码包
  • 安装python源码包


安装依赖项

[root@Python ~]# dnf install -y gcc make zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel xz-devel libffi-devel uuid-devel libnsl2-devel

依赖项介绍

  • gcc: GNU Compiler Collection,GCC 是一个编译器系统,能够编译多种编程语言,包括 C、C++、Fortran、Ada 等。

  • make: 一个构建自动化工具,用于控制程序的编译过程。它通过读取名为 Makefile 的文件来管理项目的构建过程。

  • zlib-devel: zlib 库的开发头文件和静态库,用于数据压缩和解压缩。

  • bzip2-devel: bzip2 库的开发头文件和静态库,用于数据压缩和解压缩。

  • openssl-devel: OpenSSL 库的开发头文件和静态库,用于实现安全通信协议(如 HTTPS)。

  • ncurses-devel: ncurses 库的开发头文件和静态库,用于在终端上创建文本用户界面。

  • sqlite-devel: SQLite 数据库引擎的开发头文件和静态库,用于嵌入式数据库应用。

  • readline-devel: readline 库的开发头文件和静态库,用于提供命令行编辑和历史记录功能。

  • tk-devel: Tk GUI 工具包的开发头文件和静态库,用于创建图形用户界面。

  • gdbm-devel: GDBM 数据库库的开发头文件和静态库,用于简单的键值对存储。

  • xz-devel: xz 压缩工具的开发头文件和静态库,用于高效的数据压缩。

  • libffi-devel: libffi 库的开发头文件和静态库,用于调用外部函数接口(FFI)。

  • uuid-devel: UUID 库的开发头文件和静态库,用于生成和处理通用唯一标识符(UUID)。

  • libnsl2-devel: NIS (Network Information Service) 库的开发头文件和静态库,用于网络服务相关的功能。

下载python源码包

在这里插入图片描述
网址:https://www.python.org/downloads/source/
随便下载一个版本即可

安装python源码包

  • 解压python源码包
[root@Python ~]# tar -zxvf Python-3.13.0.tgz
  • 配置编译安装python
[root@Python ~]# cd Python-3.13.0
[root@Python Python-3.13.0]# ls
aclocal.m4    Doc           Lib              Objects        Python
Android       Grammar       LICENSE          Parser         README.rst
config.guess  Include       Mac              PC             Tools
config.sub    install-sh    Makefile.pre.in  PCbuild
configure     InternalDocs  Misc             Programs
configure.ac  iOS           Modules          pyconfig.h.in
[root@Python Python-3.13.0]# ./configure --enable-optimizations --with-lto --enable-shared --enable-loadable-sqlite-extensions --enable-option-checking=fatal --with-system-expat --with-openssl=/usr --prefix=/usr/local/python
[root@Python Python-3.13.0]# make
[root@Python Python-3.13.0]# make install
[root@Python Python-3.13.0]# make clean
[root@Python Python-3.13.0]# dnf clean all
  • 设置环境变量
[root@Python ~]# cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH="/usr/local/python/bin:$PATH"

export PATH

  • 环境变量生效
[root@Python ~]# source .bash_profile
  • 测试是否安装成功
[root@Python ~]# python3
python3: error while loading shared libraries: libpython3.13.so.1.0: cannot open shared object file: No such file or directory

这里报错:缺少 libpython3.13.so.1.0

  • 安装 libpython3.13.so.1.0
[root@Python ~]# dnf install -y python3-devel
[root@Python ~]# ln -s /usr/local/lib/libpython3.13.so.1.0 /usr/lib64/libpython3.13.so.1.0
[root@Python ~]# cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH="/usr/local/python/bin:$PATH"

export LD_LIBRARY_PATH=/usr/local/python/lib:$LD_LIBRARY_PATH

export PATH

[root@Python ~]# source .bash_profile
[root@Python ~]# python3
Python 3.13.0 (main, Nov 13 2024, 06:27:34) [GCC 8.3.1 20191121 (Anolis 8.3.1-5.0.1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

安装完成


http://www.kler.cn/a/392650.html

相关文章:

  • Linux 常用操作指令大揭秘(下)
  • HarmonyOS SDK下的实践与探索
  • Spark 核心概念与宽窄依赖的详细解析
  • Tomcat与Nginx之全面比较
  • 【大数据技术基础 | 实验十】Hive实验:部署Hive
  • 本地编译ChatNio的问题解决
  • uniapp+vue2 设置全局变量和全局方法 (兼容h5/微信小程序)
  • vue3+ts+antd 运行报错 convertLegacyToken is not a function
  • SQL集合运算
  • 除了 Postman,还有什么好用的 API 管理工具吗?
  • LeetCode【0033】搜索旋转排序数组
  • C/C++基础知识复习(20)
  • LeetCode通过栈解题逆波兰表达式 有效的括号 栈的压入、弹出序列 最小栈
  • 重构代码之用委托替代继承
  • 在linux中使用nload实时查看网卡流量
  • Unity 2022 Nav Mesh 自动寻路入门
  • JavaScript高级程序设计基础(四)
  • 关系型数据库和非关系型数据库详解
  • AXI DMA IP BUG踩坑记录
  • gin入门
  • 网上商城系统设计与Spring Boot框架
  • NoSQL数据库与关系型数据库的主要区别
  • SpringMVC案例学习(一)--计算器设计登录页面设计
  • 【代码随想录day29】【C++复健】134. 加油站;135. 分发糖果;860.柠檬水找零;406. 根据身高重建队列
  • [动态规划]最长公共子序列
  • vue 计算属性get set