热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python、django版本选型、linux下python安装、windows下安装python

文章目录一、python版本选型Django版本和Python版本的对照关系二、linux下python安装ubuntu20.04安装**LinuxUbuntu20.04LTS一键

文章目录

  • 一、python 版本选型
    • Django 版本和 Python 版本的对照关系
  • 二、linux下 python安装
    • ubuntu20.04 安装
      • **Linux Ubuntu 20.04 LTS 一键安装 Python3 不同版本的方法**
    • centos8 编译安装Python 3.8.10
      • 编译过程中遇到的问题
        • 提示编译成功,还是有些模块未编译好
        • 缺少_ctypes模块
      • 创建虚拟环境
  • 三、windows下安装python
    • windows下安装python 3.10


一、python 版本选型

官方下载地址:https://www.python.org/downloads/

首先,是Python2.x和Python3.x的选择,这是两个大版本。目前Python2.x的版本更新和技术支持已经被官方停止了。Python2.x的最后一个版本是2020年发布的Python2.7.18。

Python3.x并不是Python2.x的简单升级,为了不带入过多的累赘,Python 3.x 在设计的时候没有考虑向下兼容。因此,如果不是老代码维护,我们新代码建议采用Python3.x。

ok,接下来,就是Python3.x 我们具体怎么选?

在这里插入图片描述
我们先看官方python 3.8.14 的描述
注意:您正在查看的版本是 Python 3.8.13,它是旧版 3.8 系列的安全错误修复版本。Python 3.10现在是 Python 3 的最新功能发布系列。

比如:根据PEP 569中指定的发布日历,Python 3.8 现在处于其生命周期的“仅安全修复”阶段:3.8 分支仅接受安全修复,并且在 2024 年 10 月之前不定期以仅源代码形式发布这些修复Python 3.8 不再接收常规错误修复,并且不再为其提供二进制安装程序。 Python 3.8.10是 Python 3.8 的最后一个完整的错误修复版本,带有二进制安装程序。

可以看到Python 3.8,官方不再为其提供二进制安装程序,并且也只以源码的形式做安全问题修复。

我们再看官方python 3.9.14
注意:您正在查看的版本是 Python 3.9.14,它是旧版 3.9 系列的安全错误修复版本。

没有安装程序
根据PEP 596中指定的发布日历,Python 3.9 现在处于其生命周期的“仅安全修复”阶段:3.9 分支仅接受安全修复,并且在 2025 年 10 月之前不定期地以仅源代码的形式发布。 Python 3.9 不再接收常规的错误修复,并且不再为其提供二进制安装程序。Python 3.9.13是 Python 3.9 的最后一个带有二进制安装程序的完整错误修复版本。

总结:当前最新是3.10.x,之前的版本都是只修复安全问题,如果有安全问题,我们需要下载最新的源码编译使用修复。

整体来说问,问题不大,如果考虑到最新版本稳定性问题以及一些常用框架和python版本兼容性问题,我们就使用3.8、3.10版本,使用源码编译!

Ubuntu 20.04 LTS 默认 Python 版本为3.8.10。
Ubuntu 22.04 LTS (Jammy Jellyfish)。然而该版本默认的 Python 3 版本为 Python 3.10,高于许多开发者正在使用的 3.9、3.8 甚至更早版本。

Django 版本和 Python 版本的对照关系

官方链接:https://www.djangoproject.com/download/

Django 在BSD 许可下开源 。我们建议使用最新版本的 Python 3。支持 Python 2.7 的最后一个版本是 Django 1.11 LTS。有关每个版本的 Django 支持的 Python 版本,参阅 常见问题解答。

在这里插入图片描述

个人工作技巧:我们选型完python,直接只用pip 安装django以及各种依赖,不要带版本号,这样基本所有的依赖就是和当前python最兼容匹配的。


二、linux下 python安装

ubuntu20.04 安装

Ubuntu 20.04 LTS 默认 Python 版本为3.8.10。
Ubuntu 22.04 LTS (Jammy Jellyfish)。然而该版本默认的 Python 3 版本为 Python 3.10,高于许多开发者正在使用的 3.9、3.8 甚至更早版本。

3.8.10 依然比较主流,这里推荐使用默认!
3.10 貌似也是不错的选择!如果你直接使用Ubuntu 22.04 LTS,使用python 3.10开发会比较流畅,也不用重新安装python。

Linux Ubuntu 20.04 LTS 一键安装 Python3 不同版本的方法

添加 Python 的软件源,方便我们进行安装。
sudo apt update
sudo apt install software-properties-common
#添加 Deadsnakes PPA(一个非常好用的第三方软件源):
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
#安装不同版本 Python3, 如:3.10
sudo apt install python3.10

更新python默认指向为python3.10
首先,删除原有链接

rm /usr/bin/python
which python3
ln -s /usr/bin/python3.10 /usr/bin/pythonrm /usr/bin/python3
ln -s /usr/bin/python3.10 /usr/bin/python3

安装pip

sudo apt install python3-pip

安装 venv 这样一定要指定具体的版本号和python环境一致 如python3.10

sudo apt install python3.10-venv

激活虚拟环境

source venv/bin/activate

退出虚拟环境

deactivate

centos8 编译安装Python 3.8.10

在CentOS8上搭建Python3.8运行环境
参考URL: https://www.modb.pro/db/144965
Centos7安装Python3.8详细教程
参考URL: https://blog.csdn.net/u010786653/article/details/122690588

  1. 按照编译python需要用到的依赖:

sudo yum -y install gcc gcc-c++ zlib-devel bzip2-devel openssl-devel sqlite-devel readline-devel libffi-devel
sudo yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel xz-devel gdbm-devel

  1. 下载python到临时目录

VERSION=3.8.10
wget -P /tmp/ https://www.python.org/ftp/python/${VERSION}/Python-${VERSION}.tgz

下载到临时目录去编译,

tar -xvzf /tmp/Python-${VERSION}.tgz -C /tmp/
cd /tmp/Python-${VERSION}

  1. 编译

指定安装目录为 $HOME/python3(这一步会比较久)

mkdir -p $HOME/python3
#./configure --prefix=/usr/local/python3
./configure --prefix=$HOME/python3 --enable-optimizations

–enable-optimizations选项通过运行多次测试,来优化 Python 二进制文件。这将会使得构建过程更慢。

nproc
make -j 8

修改 以对应于处理器中的内核数。你可以通过运行nproc来找到你的处理器核心数。
PS: nproc命令可以显示当前进程可用的CPU数目,该数目可能小于实际工作数

生成过程完成后,安装 Python 二进制文件(请不要使用标准的make install,因为它将覆盖默认的系统Python二进制文件):

sudo make altinstall

make altinstall与make install的区别,altinstall skips creating the python link and the manual pages links。
altinstall跳过创建python链接和手册页链接的操作。
如果使用make install,在系统中将会有两个不同版本的Python在/usr/bin/目录中,这将会导致很多问题。
因此我们在configure中配置一下编译安装路径就解决了这个问题。

总结:如果我们编译参数没有没配置安装路径,使用默认安装路径的话,就需要使用 make altinstall。所以一般有多个版本时,我们直接使用 make altinstall 就好!

编译过程中遇到的问题


提示编译成功,还是有些模块未编译好

Python build finished successfully! #提示安装成功
The necessary bits to build these optional modules were not found:
_dbm _gdbm _lzma
_tkinter nis

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel xz-devel gdbm-devel

缺少_ctypes模块

python3中有个内置模块叫ctypes,它是python3的外部函数库模块,提供了兼容C语言的数据类型,并通过它调用Linux系统下的共享库(Shared library),此模块需要使用centos7系统中外部函数库(Foreign function library)的开发链接库(头文件和链接库),而在centos7系统中没有安装外部函数库(libffi)的开发链接库软件包。

安装libffi包

yum install libffi-devel

创建虚拟环境

Python 虚拟环境是一个自包含的目录树,其中包含 Python 安装和大量其他包。它允许您在特定项目的隔离位置安装 Python 模块,而不是全局安装。这样,您就不必担心影响其他 Python 项目。

在此示例中,我们将创建一个新的 Python 3.8 项目,称为在用户主目录中。my_app

首先,创建项目目录并切换到:

mkdir ~/my_app && cd ~/my_app

从项目根内部运行以下命令以创建名为 :my_app_venv

python3.8 -m venv my_app_venv

激活环境:

source my_app_venv/bin/activate

激活后,shell 提示符将用环境名称前缀。从 Python 3.4 开始,在创建虚拟环境时,默认情况下将安装 Python 的包管理器pip。

三、windows下安装python

windows下安装python 3.10


  1. 官网下载:https://www.python.org/downloads/release/python-3108/
  2. 安装
    在这里插入图片描述

推荐阅读
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文讨论了在Linux系统中,使用chown命令将django项目目录下的static目录的拥有者从root改为eureka的问题。作者尝试了多种命令,包括chown和sudo chown等,但都没有成功修改拥有者。文章提供了相关目录的权限信息,并补充了项目所在磁盘和操作系统的信息。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 本文介绍了在Ubuntu下制作deb安装包及离线安装包的方法,通过备份/var/cache/apt/archives文件夹中的安装包,并建立包列表及依赖信息文件,添加本地源,更新源列表,可以在没有网络的情况下更新系统。同时提供了命令示例和资源下载链接。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 【技术分享】一个 ELF 蠕虫分析
    【技术分享】一个 ELF 蠕虫分析 ... [详细]
  • linux服务器时间同步失败解决方法
    linux服务器时间同步失败解决方法1、为什么会时间不同步:①计算机的时间是根据电脑晶振以固定频率震荡而产生的,由于晶振的不同或者老化,会 ... [详细]
  • 树状笔记软件for linux,Ubuntu 14.04安装开源树状笔记管理软件 WikidPad 2.2
    WikidPad是一款开源免费的wiki风格的树状笔记管理软件,类似于Notepad。基于Python,支持Windows、Mac、Linux等平台。W ... [详细]
  • Ansem 最新雄文:软着陆后,加密市场下阶段趋势与核心叙事
    市场最糟糕的时候已经过去,以太坊合并前不太会看到新的低点;但仍需来自关注宏观市场的不确定风险。撰文:Ansem ... [详细]
  • Ubuntu18.04 安装ROS Melodic && Ros2 Dashing
    https:blog.csdn.netqq_44717317articledetails104547474一、Ubuntu18.04的安装ubuntu2go的制作关于Ubuntu2 ... [详细]
  • c语言翁恺28讲,翁恺的c语言视频怎么样
    本文目录一览:1、翁凯的c语言视频多长时间2、 ... [详细]
  • linux下编译安装lnmp
    2019独角兽企业重金招聘Python工程师标准#######################安装依赖#####################安装必要的包:y ... [详细]
author-avatar
手机用户2502857101
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有