首页 > 编程语言 >源码安装Python

源码安装Python

时间:2023-11-17 16:55:34浏览次数:48  
标签:17 16 Python 安装 29 源码 Nov root

  • 本文使用的Linux发行版本为AlmaLinux 9.2 64位(CentOS停止更新后的完美替代发行版本)。
  • 本文安装的Python版本为3.12.0,其他版本方法类似。

准备工作

  1. 更新系统。
    dnf -y update
    
  2. 安装Python前,需确认当前系统是否已安装Python以及对应版本。

    不建议卸载原有Python版本,可能被应用于别的软件或脚本,这里主要在知道系统中已有的Python版本以及Python命令名。

    # 查看已安装的python版本
    python --version
    
    # 查看所有的python命令名,避免本次安装时名称冲突
    ls /usr/bin/python*
    
  3. 安装依赖。
    dnf -y group install "Development tools"
    
  4. 创建安装目录。
    mkdir -p /usr/local/Python-3.12.0
    
  5. 配置环境变量。
    1. 编辑.bash_profile文件。
      vim .bash_profile
      
    2. i在# User specific environment and startup programs后添加如下内容。
      export PYTHON_HOME=/usr/local/Python-3.12.0
      export PATH=$PYTHON_HOME/bin:$PATH
      
    3. 输入:wq!保存并退出。
    4. 使环境变量生效。
      source .bash_profile
      

源码安装Python

  1. 获取源码链接。
    1. 进入Python官网
    2. 单击Downloads > Source code
      image
    3. 找到想要下载的版本,右键复制链接地址。
      image
  2. 下载。
    wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz
    
  3. 解压源码包。
    tar -xvf Python-3.12.0.tgz
    
  4. 编译安装。
    cd Python-3.12.0
    
    ./configure --prefix=$PYTHON_HOME
    make
    make install
    
  5. 查看安装目录安装的命令名。
    ll $PYTHON_HOME/bin
    
    返回结果示例:
    total 29720
    lrwxrwxrwx 1 root root        9 Nov 17 16:29 2to3 -> 2to3-3.12
    -rwxr-xr-x 1 root root      116 Nov 17 16:29 2to3-3.12
    lrwxrwxrwx 1 root root        8 Nov 17 16:29 idle3 -> idle3.12
    -rwxr-xr-x 1 root root      114 Nov 17 16:29 idle3.12
    -rwxr-xr-x 1 root root      244 Nov 17 16:29 pip3
    -rwxr-xr-x 1 root root      244 Nov 17 16:29 pip3.12
    lrwxrwxrwx 1 root root        9 Nov 17 16:29 pydoc3 -> pydoc3.12
    -rwxr-xr-x 1 root root       99 Nov 17 16:29 pydoc3.12
    lrwxrwxrwx 1 root root       10 Nov 17 16:29 python3 -> python3.12
    -rwxr-xr-x 1 root root 30408176 Nov 17 16:29 python3.12
    -rwxr-xr-x 1 root root     3040 Nov 17 16:29 python3.12-config
    lrwxrwxrwx 1 root root       17 Nov 17 16:29 python3-config -> python3.12-config
    

    安装的Python命令名为python3.12,安装的pip命令名为pip3.12

  6. 因为已经添加了环境变量了,因此在服务器任意位置执行python3.12即可执行python命令,执行pip3.12即可执行pip命令。
    1. 创建一个helloword.py文件。
      cd ~
      vim helloword.py
      
    2. i输入如下内容。
      print('Hello World!')
      
    3. 输入:wq!保存并退出。
    4. 执行python3.12 helloword.py运行Python文件。
      返回结果示例:
      Hello World!
      

标签:17,16,Python,安装,29,源码,Nov,root
From: https://www.cnblogs.com/jiqiangzhang/p/installation-python-from-source-code.html

相关文章

  • CreateCollection_dataSyncService_执行流程源码解析
    CreateCollection_dataSyncService_执行流程源码解析milvus版本:v2.3.2CreateCollection这个API流程较长,也是milvus的核心API之一,涉及的内容比较复杂。这里介绍dataSyncService相关的流程。这边文章基于【CreateCollection流程_addCollectionMetaStep_milvus源码解析】这篇文章......
  • 源码解析axios拦截器
    从源码解析axios拦截器是如何工作的axios拦截器的配置方式axios中有两种拦截器:axios.interceptors.request.use(onFulfilled,onRejected,options):配置请求拦截器。onFulfilled方法在发送请求前执行,接收config对象,返回一个新的config对象,可在此方法内修改config对......
  • 淘宝商家私信脚本,自动批量阿里旺旺版,按键精灵源码分享
    在UI界面设置话术后用#号分割多条,然后启动就会自动给搜素下面的商家发送指定消息的私信,脚本代码和UI界面代码我下面会分享出来,自己粘贴就可以用。UI界面:  UI界面代码:====================================================界面1:{请在下面设置话术:{输入框:{名称:"......
  • vue2.0源码简读(5. 扩展)
    5.1event平时开发工作中,处理组件间的通讯,原生的交互,都离不开事件。对于一个组件元素,不仅仅可以绑定原生的DOM事件,还可以绑定自定义事件,非常灵活和方便。那么接下来从源码角度来看看它的实现原理。为了更加直观,通过一个例子来分析它的实现:letChild={template:'<button......
  • vue2.0源码简读(6. Vue Router)
    6.1路由注册Vue从它的设计上就是一个渐进式JavaScript框架,它本身的核心是解决视图渲染的问题,其它的能力就通过插件的方式来解决。Vue-Router就是官方维护的路由插件,在介绍它的注册实现之前,先来分析一下Vue通用的插件注册原理。Vue.useVue提供了Vue.use的全局API来......
  • vue2.0源码简读(7. Vuex)
    7.1Vuex初始化这一节主要来分析Vuex的初始化过程,它包括安装、Store实例化过程2个方面。安装当在代码中通过importVuexfrom'vuex'的时候,实际上引用的是一个对象,它的定义在src/index.js中:exportdefault{Store,install,version:"__VERSION__",mapSt......
  • Oracle jdk 安装以及镜像
    我们在日常进行Java开发中,可能都会遇到下载JDK,但是Oracle官方的下载条件非常苛刻,需要手动同意license。历史版本需要手动登录,所以有时候不得不先进行注册,然后才能下载。更麻烦的是下载地址位于国外,下载速度慢。其它OpenJDK分发版中,AdoptOpenJDK算是半官方了,有良好的API,直接下载就可......
  • python 数据类型判断
    python数据类型判断#encoding=utf-8l=[1,2,"s",[1,23],{1:2},(1,2),set([1,2]),"b",-2]d={"int":0,"str":0,"list":0,"tuple":0,"set":0,"dict":0,"complex":0}   #先用字典定义列表中......
  • python 目录操作
    __author__='Administrator'#_*_coding:UTF-8_*_#@Createbygengyu#@CreateTime:2021/12/4#@File_name:exists#wn.run/https://importos,sys,pathlibimportglobimportshutil'''thisis__doc__'''def......
  • 拼多多商家私信群发脚本,按键精灵版工具,源码分享
    也是用按键精灵写的,实现的功能就是通过图色识别拼多多商品列表然后逐个对商家客服进行私信,私信内容可以在脚本里面提前配置好,代码怎么部署?回答:粘贴到你的按键精灵就行了,因为代码完全开源。UI界面:  脚本代码:=============================================='创建布局名称......