Debian12 安装Python2.7

源码安装Python2.7.18 。是目前2020年后发布的新Linux发行版的唯一途径。并且安装好了之后只能运行基本的python2功能。不能作为共享库使用,即 ./configure --enable-shared  会导致编译通不过。也不能优化,即 ./configure --enable-optimizations 会导致编译通不过。下面我们开始安装。

  1. 安装依赖(网上搜python2源码依赖吧,假设你已经安装好了依赖)
  2. 下载并解压原文件
    > wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz
    > mkdir python2.7
    > tar -xzf Python-2.7.18.tgz -C python2.7
  3. 进入源码目录
    > cd python2.7
    > mv Python-2.7.18/* .
  4. 进入源码目录后执行配置并生成 Makefile 文件
    # 安装到 /usr/local/share/python2.7/bin/python 作为 python2 的文件
    > ./configure --prefix=/usr/local/share/python2.7 # 不要增加其他参数,否则会编译通不过。
    
  5. 保证Make使用的是bash语法。直接将 Makefile 文件中 /bin/sh 改成 /bin/bash
  6. 编译和安装python2
    > make
    > sudo make install
    > /usr/local/share/python2.7/bin/python2 -V# 如果能看到python版本,说明就安装成功了。如 Python 2.7.18
    # python2 加入到Path环境
    > sudo ln -s /usr/local/share/python2.7/bin/python2 /usr/bin/python2
    
  7. 安装pip2。pip2 也只能使用官方脚本 get-pip.py 安装。记得把脚本第一行的 python 改成 python2,因为上一步,我们只创建了 python2 的连接,没有创建 python 的连接。主要考虑到,你的机器上可能已经存在了 python 连接,并指向了 python3
    # 下载脚本源文件
    > wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
    # 修改 get-pip.py 第一行内容,把 python 改成 python2
    # 给脚本添加可执行权限
    > chmod 755 get-pip.py
    # 执行安装pip脚本,默认安装目录就是 python2 所在目录即 /usr/local/share/python2.7/bin
    > ./get-pip.py
    # /usr/local/share/python2.7/bin 目录下面应该有了pip 和 pip2 两个文件
    > /usr/local/share/python2.7/bin/pip2 -V 
    # 如果能看到pip版本信息,说明安装成功了。如 pip 20.3.4 from /usr/local/lib/python2.7/site-packages/pip (python 2.7)
    # 如果这里报错,可能pip被安装到了其他位置。我们可以用 where pip2
    > whereis pip2
    pip2: /home/yourname/.local/bin/pip2
    > pip2_path="$(whereis pip2 | awk '{print $2}')"
    > $pip2_path -V
    # 如果能看到pip版本信息,也能说明安装成功了。如 pip 20.3.4 from home/yourname/.local/lib/python2.7/site-packages/pip (python 2.7) 如果是这种情况,你就不用把 pip2 加入 Path 环境了,也就是说下一条命令可以不用执行了。因为 $HOME/.local/bin 默认已经在 Path 中了
    # 看情况。是否执行,把 pip2 加入到 Path 环境
    > sudo ln -s /usr/local/share/python2.7/bin/pip2 /usr/bin/pip2
  8. 安装 pipenv。千万不要覆盖了 python3 的 pipenv,因此要指定安装路径,如 $HOME/.local/share/python2
    > pip2 install --target=$HOME/.local/share/python2 pipenv
    > $HOME/.local/share/python2/bin/pipenv --version
    # 如果能看到pipenv版本信息,说明安装成功了。如 pipenv, version 2021.5.29
    # 然后就可以使用 pipenv 创建python2的虚拟环境了。
    
  9. 安装虚拟环境
    > $HOME/.local/share/python2/bin/pipenv install --dev --python=python2
    Creating a virtualenv for this project...
    Pipfile: /home/yourname/python2.7/Pipfile
    Using /usr/local/share/python2.7/bin/python2.7 (2.7.18) to create virtualenv...
    ⠸ Creating virtual environment...created virtual environment CPython2.7.18.final.0-64 in 166mscreator CPython2Posix(dest=/home/yourname/.local/share/virtualenvs/python2.7-dgFSHbht, clear=False, no_vcs_ignore=False, global=False)seeder FromAppData(download=False, pip=bundle, wheel=bundle, setuptools=bundle, via=copy, app_data_dir=/home/yourname/.local/share/virtualenv)added seed packages: pip==20.3.4, setuptools==44.1.1, wheel==0.37.1activators NushellActivator,PythonActivator,FishActivator,CShellActivator,PowerShellActivator,BashActivator
    ✔ Successfully created virtual environment!
    Virtualenv location: /home/yourname/.local/share/virtualenvs/python2.7-dgFSHbht
    Creating a Pipfile for this project...
    Pipfile.lock not found, creating...
    Locking [dev-packages] dependencies...
    Locking [packages] dependencies...
    Updated Pipfile.lock (dfae9f)!
    Installing dependencies from Pipfile.lock (dfae9f)...🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 0/0 — 00:00:00
    To activate this project's virtualenv, run pipenv shell.
    Alternatively, run a command inside the virtualenv with pipenv run.
    

    注意 Virtualenv location 开头这一行信息。表明了,你新创建的虚拟环境在哪里。今后执行python2 都到此虚拟环境下面,尽量保证安全。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/787419.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【PyTorch][chapter 25][李宏毅深度学习][ CycleGAN]【实战】

前言: 论文中直接提供了GitHub 的代码下载地址 GitHub - junyanz/pytorch-CycleGAN-and-pix2pix: Image-to-Image Translation in PyTorch 这里面简单的解读一下. 目录: 1. 模型参数配置 2: 生成器模型 3: 鉴别器模型 4&#…

TCP服务端主动向客户端发送数据

C TCP 服务端和客户端通信的例子 在此基础上,要修改服务端代码,使其能够每秒向客户端发送当前时间,你需要添加一个循环,每次循环发送当前时间给客户端。同时,你需要在客户端代码中添加接收服务端发送的数据的逻辑。 …

基于PHP的校园招聘管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的校园招聘管理系统 一 介绍 此校园招聘管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为个人用户,企业和管理员三种。 技术栈:phpmysqlbootstrapphpstudyvscode 二…

蓝桥杯刷题第六天(昨天忘记发了)

今天想从不一样的角度来解题:从时间紧张暴力求解到思路阔达直接通过所有案例 暴力方法: 思路第一眼看到这个问题我就想到了第一个思路就是先用两个数组一个存石子数一个存颜色状态,每次遍历一遍看看有没有相邻石子颜色一样且为和最小的。 im…

C语言算法学习记录:不创建第三个参数进行交换

int a 90;int b 20;printf("交换之前 a %d b %d\n", a, b);a a ^ b;b a ^ b;a a ^ b;printf("交换之后 a %d b %d\n", a, b);

深度学习理论基础(五)卷积神经网络CNN

目录 一、卷积神经网络基础1.卷积层(1)内部参数:卷积核权重(2)内部参数:偏置(3)外部参数:填充padding(默认不填充)(3)外部…

分月饼 java题解

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in); int m sc.nextInt(); // 读取员工数量mint n sc.nextInt(); // 读取月饼数量n// 调用distribute方法并打印返回的分配方法总数//先默认每人分一个…

--headless=new,pythom,爬虫

相信大家在看很多爬虫资料的时候,都知道,有一个无头模式。也就是不显示浏览器窗口。 但是实际上,无头模式,在很多地方会被很多网站检测。比如cloundfront, 亚马逊的DNS保护就会拦截导致403 错误。 实际上呢。无头模式&#xff0…

2024年华为OD机试真题-亲子游戏-Java-OD统一考试(C卷)

题目描述: 宝宝和妈妈参加亲子游戏,在一个二维矩阵(N*N)的格子地图上,宝宝和妈妈抽签决定各自的位置,地图上每个格子有不同的糖果数量,部分格子有障碍物。 游戏规则是妈妈必须在最短的时间(每个单位时间只能走一步)到达宝宝的位置,路上的所有糖果都可以拿走,不能走障…

如何冷迁移Oracle RAC到单机(非RMAN)

1、起因 群友说有套数据库要进行迁移,源端是套跑了十年的RAC,目标段是个新的单机(都是同一架构平台),数据量约3T左右。 目前DATA目录存储和归档放在一起,整个磁盘组只剩下了20G空间,每间隔1小…

Google DeepMind 大语言模型中的长形态事实性

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 论文标题:Long-form factuality in large language models 论文链接:https://arxiv.org/abs/2403.18802 论文的关键信息总结如下: 研究问题是什么?论文…

如何优化Flutter应用以通过iOS应用商店的审核流程

本文探讨了使用Flutter开发的iOS应用能否上架,以及上架的具体流程。苹果提供了App Store作为正式上架渠道,同时也有TestFlight供开发者进行内测。合规并通过审核后,Flutter应用可以顺利上架。但上架过程可能存在一些挑战,因此可能…

kubernetes-dashboard 安装配置

k8s 1.23以上的版本 https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml 执行命令: kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml 安装完成后&#x…

寒冬已逝,“量子春天”正来

最近,全球对量子技术领域的私人投资有所下降,引发了一些观点认为这个领域可能正逐渐衰退。 政治家、资助者和投资者并不总是以科学为关注焦点。然而,某些科技领域偶尔会成为热点,正如20世纪50年代核能技术的兴起,那时人…

【Linux】ubuntu安装google gtest框架

本文首发于 ❄️慕雪的寒舍 ubuntu 22.04.03 LTS 安装 google gtest 框架 1.依赖项 首先在ubuntu中安装如下包 sudo apt install -y unzip g gcc cmake make automake2.下载软件包 进入google gtest的github页面,下载源码包 Releases google/googletest https…

EXCEL通过VBA字典快速分类求和

EXCEL通过VBA字典快速分类求和 汇总截图 Option ExplicitOption Explicit Sub answer3() Dim wb As Workbook Dim sht As Worksheet Set wb ThisWorkbook Set sht wb.Worksheets(2) Dim ss1 As Integer Dim ss2 As Integer Dim i As Integer Dim j As Integer j 1Dim aa()…

Linux环境基础和工具的使用

目录 1、Linux软件包管理器---yum 2、Linux开发工具 2.1、vim基本概念 2.2 vim基本操作 2.3 vim正常模式命令集 2.4 vim末行模式命令集 2.5 简单vim配置 2.5.1 配置文件的位置 3 Linux编译器--gcc/g的使用 3.1 背景知识 3.2 gcc完成 4 Linux调试器--gdb使用 4.1 背…

JS实现省市区三级联动(json假数据)

省市级三级联动通常指的是在用户界面上,用户可以通过选择省份,然后基于所选择的省份选择对应的城市,最后基于所选择的城市选择对应的区县。这种联动效果在很多应用中都有出现,例如电商平台的收货地址选择、政务服务的地区选择等。…

文件操作(2)【文件的随机读写】【文件读取结束的判定】

一.文件的随机读写 1.fseek函数 这个函数可以根据文件指针的位置和偏移量来定位文件指针(文件内容的光标)。有三个参数: stream:文件指针,指向要设置位置的文件。offset:偏移量,可以为正数、负…

Vue3:用Pinia的storeToRefs结构赋值store数据

一、情景描述 我们学习了Pinia之后,知道,数据是配置在Pinia的state里面的。 那么,如果有多个字段需要取出来使用,并且不丢失数据的响应式,如何优雅的操作了? 这里就用到了Pinia的storeToRefs函数 二、案…