Ubuntu安装Python3.8.0a4

如果你想体验一下,请用虚拟机(感受一下就行,别当真)。

新特性(整体来说,有三点特别需要注意一下)

海象运算符
# python3.7
a = '123'
if len(a):
print(1)

  

# python3.8
if (b := len(a)):
print(1)

  

整体这样理解

  1. 优先执行短赋值(借鉴golang)右边的代码
  2. 将右边的代码执行结果赋值给左边变量
  3. 再执行if判断

展示张图片

编译字节码可以单独指定存放位置

说白了可以通过设置环境变量 PYTHONPYCACHEPREFIX来指定这个生成路径,你也可以在代码中使用 sys.pycache_prefix来获取这个生成路径

最直接的作用就是分发Python代码的时候可以只分发编译字节码包,从而一定程度上提高了Python的安全性(可能)

Python3.8之前,finally 中加 continue 语句是不合法的。

Python3.8之后这个限制被移除了。

执行结果如下

ubuntu1804之后python3.7存在,暂不替换(不设置软连接)。

python3.8下载(支持LinuxWindowsMac

wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0a4.tar.xz

  

安装

# 先决条件(这样可以避免两个个报错)
apt-get install zlib* -y
apt-get install libffi-dev -y

  

# unxz Python-3.8.0a4.tar.xz
# tar -zxvf Python-3.8.0a4
# 解压Python-3.8.0a4.tar.xz包时,这里推荐手动提取,这样可以省去两条命令。如果python是在一个文件夹下,请确认非root用户拥有该文件夹的全县(递归)
chown -R [非root]:[非root] Python-3.8.0a4

  

./configure --prefix=/usr/local/python3 --with-ssl

  如果是Centos系统,安装报错均可在网上查阅到

zipimport.ZipImportError: can't decompress data; zlib not available
...
make: *** [Makefile:1168:install] 错误 1
#权限问题,需要非root用户拥有解压好的python文件夹权限。

  

apt-get install libffi-dev -y
# 这条命令在解决 ModuleNotFoundError: No module named '_ctypes'无模块问题

  

出现以下,便是安装完成了!

...
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-19.0.3 setuptools-40.8.0

 最后给大家分享一些小福利

 

链接:https://pan.baidu.com/s/1sMxwTn7P2lhvzvWRwBjFrQ

提取码:kt2v

链接容易被举报过期,如果失效了就在这里领取吧

Ubuntu安装Python3.8及新特性的更多相关文章

  1. 相比于python2.6,python3.0的新特性。

    这篇文章主要介绍了相比于python2.6,python3.0的新特性.更详细的介绍请参见python3.0的文档. Common Stumbling Blocks 本段简单的列出容易使人出错的变动. ...

  2. [转]Ubuntu安装Python3.6

    Ubuntu安装Python3.6   Ubuntu默认安装了Python2.7和3.5 输入命令python

  3. python-3.8.0 新特性之赋值表达式

    [python-3.8.0 新特性之赋值表达式] 赋值表达式的语法是这样的“ name := expression ”,形式上看和赋值语句 “ = ” 差不多,就作用上来看也雷同.也就是说 “:=” ...

  4. Vmvare下Ubuntu安装Python3.4

    Ubuntu14.4下默认安装的Python版本是2.7.随着Python3.4的使用,现在大部分Python开发者都喜欢使用Py3.4.那么Ubuntu下应该怎么安装Python3.4呢? (1). ...

  5. Python3中的新特性(3)——代码迁移与2to3

    1.将代码移植到Python2.6 建议任何要将代码移植到Python3的用户首先将代码移植到Python2.6.Python2.6不仅与Python2.5向后兼容,而且支持Python3中的部分新特 ...

  6. ubuntu 安装python3

    1.安装python3 apt-get install python3 2.安装pip3 apt-get install python3-pip 3.为python3添加包 pip3 install ...

  7. Ubuntu安装Python3 和卸载

    Python2中文的解决 在py文件第一行添加 #coding=utf-8 1 规范的应该这么写 #-*- coding:utf-8 -*- 1 安装python 系统默认安装Python2 安装Py ...

  8. ubuntu安装Python3并与Python2自由切换

    一.配置ssh链接安装openssh-server sudo apt-get install openssh-server 二.安装Python3及pip sudo apt-get install p ...

  9. ubuntu安装python3

    系统本身就已经安装了python2.7 和python3.4 现在需要做的就是将默认的版本更换一下下就可以了. 检查python的版本 python -V 老的版本没必要去产出了,因为会有一些程序依赖 ...

随机推荐

  1. Prism 源码解读6-事件聚合

    0 介绍 事件提供的是1对多的绑定,通过委托链实现对订阅者的调用,事件必须要通过发布者调用.同时事件订阅是强引用,事件订阅者的生命周期总是大于等于事件发布者.如果代码中事件很多就会充斥着各种事件的订阅 ...

  2. __str_方法和__repr__的区别

    __str__方法和__repr__方法: 官方文档解释: Object.__repr__(self): 由 repr() 内置函数调用以输出一个对象的“官方”字符串表示.如果可能,这应类似一个有效的 ...

  3. 9.Maven的生命周期

    Clean Lifecycle: 在进行真正的构建之前进行一些清理工作. Default Lifecycle :构建的核心部分,编译,测试,打包,部署等等. Site Lifecycle : 生成项目 ...

  4. 使用Spring实例化Bean的方法以及Bean取别名

    一.通过构造方法实例化Bean bean中加构造方法 public class Bean1 { public Bean1() { System.out.println("Bean1构造方法. ...

  5. 1037 Magic Coupon (25分)

    The magic shop in Mars is offering some magic coupons. Each coupon has an integer N printed on it, m ...

  6. 启用SELinux保护

                                                               启用SELinux保护 案例1:启用SELinux保护 1.1问题 本例要求为虚拟 ...

  7. 关于wget下载jdk问题解决

    问题: 直接从jdk官网下载会出现: 正在解析主机 login.oracle.com (login.oracle.com)... 156.151.58.18正在连接 login.oracle.com ...

  8. C语言 文件操作(八)

    1.删除文件或目录 int remove(char * filename); [参数]filename为要删除的文件名,可以为一目录.如果参数filename 为一文件,则调用unlink()处理:若 ...

  9. MODIS系列之NDVI(MOD13Q1)三:.jdk文件配置+MRT安装

    MRT(MODIS Reprojection Tool)简介: MODIS的全称为中分辨率成像光谱仪(Moderate-Resolution Imaging Spectroradiometer),是搭 ...

  10. 会话技术(session/cookie)

    session可保存int double bool array string object:cookie只能保存stringsession 可通过php.ini文件查看存放的位置:cookie不同浏览 ...