Ubuntu安装Python3.8及新特性
Ubuntu安装Python3.8.0a4
如果你想体验一下,请用虚拟机(感受一下就行,别当真)。
新特性(整体来说,有三点特别需要注意一下)
海象运算符
# python3.7
a = '123'
if len(a):
print(1)
# python3.8
if (b := len(a)):
print(1)
整体这样理解
- 优先执行短赋值(借鉴
golang)右边的代码 - 将右边的代码执行结果赋值给左边变量
- 再执行
if判断
展示张图片

编译字节码可以单独指定存放位置
说白了可以通过设置环境变量 PYTHONPYCACHEPREFIX来指定这个生成路径,你也可以在代码中使用 sys.pycache_prefix来获取这个生成路径
最直接的作用就是分发Python代码的时候可以只分发编译字节码包,从而一定程度上提高了Python的安全性(可能)
在Python3.8之前,finally 中加 continue 语句是不合法的。

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

执行结果如下

在ubuntu1804之后python3.7存在,暂不替换(不设置软连接)。
python3.8下载(支持Linux,Windows,Mac)
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及新特性的更多相关文章
- 相比于python2.6,python3.0的新特性。
这篇文章主要介绍了相比于python2.6,python3.0的新特性.更详细的介绍请参见python3.0的文档. Common Stumbling Blocks 本段简单的列出容易使人出错的变动. ...
- [转]Ubuntu安装Python3.6
Ubuntu安装Python3.6 Ubuntu默认安装了Python2.7和3.5 输入命令python
- python-3.8.0 新特性之赋值表达式
[python-3.8.0 新特性之赋值表达式] 赋值表达式的语法是这样的“ name := expression ”,形式上看和赋值语句 “ = ” 差不多,就作用上来看也雷同.也就是说 “:=” ...
- Vmvare下Ubuntu安装Python3.4
Ubuntu14.4下默认安装的Python版本是2.7.随着Python3.4的使用,现在大部分Python开发者都喜欢使用Py3.4.那么Ubuntu下应该怎么安装Python3.4呢? (1). ...
- Python3中的新特性(3)——代码迁移与2to3
1.将代码移植到Python2.6 建议任何要将代码移植到Python3的用户首先将代码移植到Python2.6.Python2.6不仅与Python2.5向后兼容,而且支持Python3中的部分新特 ...
- ubuntu 安装python3
1.安装python3 apt-get install python3 2.安装pip3 apt-get install python3-pip 3.为python3添加包 pip3 install ...
- Ubuntu安装Python3 和卸载
Python2中文的解决 在py文件第一行添加 #coding=utf-8 1 规范的应该这么写 #-*- coding:utf-8 -*- 1 安装python 系统默认安装Python2 安装Py ...
- ubuntu安装Python3并与Python2自由切换
一.配置ssh链接安装openssh-server sudo apt-get install openssh-server 二.安装Python3及pip sudo apt-get install p ...
- ubuntu安装python3
系统本身就已经安装了python2.7 和python3.4 现在需要做的就是将默认的版本更换一下下就可以了. 检查python的版本 python -V 老的版本没必要去产出了,因为会有一些程序依赖 ...
随机推荐
- Prism 源码解读6-事件聚合
0 介绍 事件提供的是1对多的绑定,通过委托链实现对订阅者的调用,事件必须要通过发布者调用.同时事件订阅是强引用,事件订阅者的生命周期总是大于等于事件发布者.如果代码中事件很多就会充斥着各种事件的订阅 ...
- __str_方法和__repr__的区别
__str__方法和__repr__方法: 官方文档解释: Object.__repr__(self): 由 repr() 内置函数调用以输出一个对象的“官方”字符串表示.如果可能,这应类似一个有效的 ...
- 9.Maven的生命周期
Clean Lifecycle: 在进行真正的构建之前进行一些清理工作. Default Lifecycle :构建的核心部分,编译,测试,打包,部署等等. Site Lifecycle : 生成项目 ...
- 使用Spring实例化Bean的方法以及Bean取别名
一.通过构造方法实例化Bean bean中加构造方法 public class Bean1 { public Bean1() { System.out.println("Bean1构造方法. ...
- 1037 Magic Coupon (25分)
The magic shop in Mars is offering some magic coupons. Each coupon has an integer N printed on it, m ...
- 启用SELinux保护
启用SELinux保护 案例1:启用SELinux保护 1.1问题 本例要求为虚拟 ...
- 关于wget下载jdk问题解决
问题: 直接从jdk官网下载会出现: 正在解析主机 login.oracle.com (login.oracle.com)... 156.151.58.18正在连接 login.oracle.com ...
- C语言 文件操作(八)
1.删除文件或目录 int remove(char * filename); [参数]filename为要删除的文件名,可以为一目录.如果参数filename 为一文件,则调用unlink()处理:若 ...
- MODIS系列之NDVI(MOD13Q1)三:.jdk文件配置+MRT安装
MRT(MODIS Reprojection Tool)简介: MODIS的全称为中分辨率成像光谱仪(Moderate-Resolution Imaging Spectroradiometer),是搭 ...
- 会话技术(session/cookie)
session可保存int double bool array string object:cookie只能保存stringsession 可通过php.ini文件查看存放的位置:cookie不同浏览 ...