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

源码安装Python

时间:2023-11-17 17:12:26浏览次数:36  
标签: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.html

相关文章

  • 使用reposync工具将yum安装包保存到本地的方法
    使用reposync工具将yum安装包保存到本地的方法版权声明:原创作品,谢绝转载!否则将追究法律责任。—————作者:kirin1、修改yum配置#修改配置文件[root@kirin365data]#vim/etc/yum.confcachedir=/usr/local/cache#包保存的路径keepcache=1#1为保存0为不保存2、reposy......
  • 源码安装Python
    本文使用的Linux发行版本为AlmaLinux9.264位(CentOS停止更新后的完美替代发行版本)。本文安装的Python版本为3.12.0,其他版本方法类似。准备工作更新系统。dnf-yupdate安装Python前,需确认当前系统是否已安装Python以及对应版本。不建议卸载原有Python版本,可能被应用......
  • 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}   #先用字典定义列表中......