如何在Linux云服务器安装其他版本Python环境,附实战小程序

简介: 如何在Linux云服务器安装其他版本Python环境,附实战小程序

简说Python,号主老表,Python终身学习者,数据分析爱好者,从18年开始分享Python知识,原创文章227篇,写过Python、SQL、Excel入门文章,也写过Web开发、数据分析文章,老表还总结整理了一份2022Python学习资料和电子书资源,关注后私信回复:2022 即可领取。

1、官网下载Python源码

这里比较建议本地下载(下载速度较快),然后通过宝塔,将文件上传到服务器。

首先本地浏览器服务下面网址,找到要下载的python版本,点击即可下载。

https://www.python.org/downloads/source/

注意,左边是稳定版本,右边的是预发版本,我这里选择的是Python3.7.9,点击Download XZ compressed source tarball。

image.png

我们将下载好的Python源码压缩包通过宝塔上传到服务器指定文件夹下(我在root/Project文件夹下创建了一个soft文件夹),上传好后,在宝塔内可以直接右键解压。

如果你还不知道怎么安装使用宝塔面板,可以看往期文章:Linux里的“宝塔”,真正的宝塔!详细教程

image.png

2、安装Python

接下来我们还是可以继续用宝塔,点击宝塔面板的终端,依次输入下面指令。

  • cd进入Python源码目录
  • ./configure --prefix 设置安装位置
  • make 进行源码编译,生成可执行文件
  • make install 将编译生成的可执行文件安装到通过configure设置的安装目录中

我这里设置的最终安装目录是/usr/local/python3.7

cd /root/soft/Python-3.7.9
./configure --prefix=/usr/local/python3.7
make
make install

安装成功后,也会打印出安装目录,这里提示这个目录没有被加入环境变量,我们可以添加下,或者直接配置软链接。

image.png

  • 方式一:配置环境变量

首先利用nano打开配置文件~/.bashrc,在最后添加一行export PATH="/usr/local/python3.7/bin:$PATH",保存 退出,最后运行下配置文件即可。

nano ~/.bashrc
# 添加环境变量后, 运行下配置文件
source ~/.bashrc

不过即使这样,还是得设置下软链接,或者用python3.7 进入Python程序。

  • 方式二:设置软链接

这里使用的是ln指令,将python3.7可执行软件直接链接到/usr/bin中的python3,pip3.7链接到/usr/bin中的pip3,这样我们就可以直接使用python3 pip3直接对应到3.7版本了。

  • ln -s 表示进行软链接
  • ln -f 表示强制进行链接,如果之前有链接过其他目录,则先将之前的链接删除,再进行新的链接
ln -sf /usr/local/python3.7/bin/python3.7 /usr/bin/python3
ln -sf /usr/local/python3.7/bin/pip3.7 /usr/bin/pip3

设置好,我们可以直接输入python3 --version看看是否链接成功。

image.png

3、简单使用

  • 设置镜像源

创建一个.pip文件夹,用来存放pip配置文件。

mkdir .pip && cd .pip

我们还是使用nano指令来编辑文件,

nano pip.conf

将下面内容复制到里面,然后按ctrl+o保存文件,再按ctrl+x退出编辑模式即可。

[global]
index-url = https://mirrors.aliyun.com/pypi/simple
[install]
trusted-host = mirrors.aliyun.com

除了阿里云镜像,你也可以选择其他镜像源,

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple
豆瓣 http://pypi.douban.com/simple
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple
  • 安装第三方包

首先要安装的就是pipenv,方便创建、管理虚拟环境,安装个requests数据,再安装个pandas处理数据。

pip3 install pipenv rquests pandas
  • 写个小程序:生成随机密码

先说下思路:从数字、大小写字母、特殊字符里随机选取指定长度的字符个数,然后组成一个字符串。

1> 字符集

我们可以自己输入,也可以用现成的包,比如string,是Python的一个内置包,可以很快的获取到各种字符。

import string
string.printable

image.png

2> 随机函数

也是Python内置的一个包random,主要内置有:randint、random、randrange、choice、choices等函数。

import random
random.choices('abc', k=2)

image.png

3> 随机密码生成程序
import string
import random
while True:
    try:
        password_len = int(input('请输入密码长度(只能是数字):'))
        password = ''.join(random.choices(string.printable.strip(), k=password_len))
        print(f'你的新密码为:{password},请保存好~')
    except Exception as e:
        print(f'【出错啦】看看是不是输入错误吧,可能是输入了非数字内容,错误信息:{e}')
    print('*** 想结束就输入0吧!!!***')
    print('*** 回车继续生成新密码 ***')
    flag = input('是否继续生成新密码:')
    if flag == '0':
        break
    print('******************************************')

image.png

后面有时间,我再优化下,嘿嘿嘿~

坚持 and 努力 :终有所获。

那么下期见,我是爱猫爱技术,更爱思思的老表⁽⁽ଘ( ˙꒳˙ )ଓ⁾⁾

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
866 7
|
7月前
|
数据采集 Web App开发 数据安全/隐私保护
实战:Python爬虫如何模拟登录与维持会话状态
实战:Python爬虫如何模拟登录与维持会话状态
|
7月前
|
存储 分布式计算 测试技术
Python学习之旅:从基础到实战第三章
总体来说,第三章是Python学习路程中的一个重要里程碑,它不仅加深了对基础概念的理解,还引入了更多高级特性,为后续的深入学习和实际应用打下坚实的基础。通过这一章的学习,读者应该能够更好地理解Python编程的核心概念,并准备好应对更复杂的编程挑战。
216 12
|
7月前
|
存储 数据采集 监控
Python文件操作全攻略:从基础到高级实战
本文系统讲解Python文件操作核心技巧,涵盖基础读写、指针控制、异常处理及大文件分块处理等实战场景。结合日志分析、CSV清洗等案例,助你高效掌握文本与二进制文件处理,提升程序健壮性与开发效率。(238字)
593 1
|
7月前
|
存储 Java 调度
Python定时任务实战:APScheduler从入门到精通
APScheduler是Python强大的定时任务框架,通过触发器、执行器、任务存储和调度器四大组件,灵活实现各类周期性任务。支持内存、数据库、Redis等持久化存储,适用于Web集成、数据抓取、邮件发送等场景,解决传统sleep循环的诸多缺陷,助力构建稳定可靠的自动化系统。(238字)
1272 1
|
7月前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
693 0
|
7月前
|
机器学习/深度学习 监控 数据挖掘
Python 高效清理 Excel 空白行列:从原理到实战
本文介绍如何使用Python的openpyxl库自动清理Excel中的空白行列。通过代码实现高效识别并删除无数据的行与列,解决文件臃肿、读取错误等问题,提升数据处理效率与准确性,适用于各类批量Excel清理任务。
667 0
|
NoSQL Java Linux
linux 安装 neo4j简介
Neo4j是高性能NoSQL图形数据库,利用图结构存储数据。推荐使用JDK 11配合Neo4j 3.x版本。下载3.5.9版,通过`curl`命令在Linux上获取tar.gz文件,然后解压。配置`neo4j.conf`,调整内存设置,开启远程访问。执行`./bin/neo4j start`启动,通过`http://服务器IP:7474`访问,默认凭据是username: neo4j, password: neo4j,登录后应更改密码。
2340 1
|
存储 缓存 Ubuntu
【嵌入式开发】 Linux Kernel 下载 配置 编译 安装 及 驱动简介(二)
【嵌入式开发】 Linux Kernel 下载 配置 编译 安装 及 驱动简介(二)
458 0
|
Ubuntu 安全 Unix
【嵌入式开发】 Linux Kernel 下载 配置 编译 安装 及 驱动简介(一)
【嵌入式开发】 Linux Kernel 下载 配置 编译 安装 及 驱动简介(一)
554 0