这两天抽空开始跟着 Learn Python 3 The Hard Way 学习 python 3, 当做到第5个练习的时候,出现了如下错误:

david@KingChef-Workstation:~/learnpy$ python3 ex5.py

File "ex5.py", line 9

print(f"Let's talk about {my_name}.")

^

SyntaxError: invalid syntax

再三检查发现代码没有问题,但运行就是出错。听说Python各版本之间会有差异,会不会是因为Python版本本身的问题呢?

david@KingChef-Workstation:~$python -V

Python 2.7.12

david@KingChef-Workstation:~$python3 -V

Python 3.5.2

Ubuntu 16.04 默认安装的 Python 版本是2.7和3.5,而 Learn Python 3 The Hard Way 里面用的是 Python 3.6。大伟哥查了一下,了解到 F-string 正好就是 Python 3.6 的新特性之一。要继续学习的话,就需要安装 Python 3.6 了,好在Ubuntu下面可以很方便的让多个 Python 版本同时存在,只要在运行的时候指定 Python 的版本号就可以了。

要在 Ubuntu 16.04 上面安装 Python 3.6 需要添加python 3.6的源:

david@KingChef-Workstation:~$sudo add-apt-repository ppa:jonathonf/python-3.6

[sudo] password for david:

A plain backport of *just* Python 3.6. System extensions/Python libraries may or may not work.

Don't remove Python 3.5 from your system - it will break.

More info: https://launchpad.net/~jonathonf/+archive/ubuntu/python-3.6

Press [ENTER] to continue or ctrl-c to cancel adding it

这里提示我们安装 Python 3.6 后不要删除 Python 3.5,不然的话系统会崩溃,因为 Linux 系统里面对 Pyhon 的依赖是比较多的,网上能查到很多人吐槽自己删除系统默认的 Python 版本后出现问题,不得不重新装回原来的版本,甚至重装系统的经历。我们根据提示键入 Enter 后,把 Python 3.6 的PPA源正式加入到源列表:

gpg: keyring `/tmp/tmpsnw0vrl9/secring.gpg' created

gpg: keyring `/tmp/tmpsnw0vrl9/pubring.gpg' created

gpg: requesting key F06FC659 from hkp server keyserver.ubuntu.com

gpg: /tmp/tmpsnw0vrl9/trustdb.gpg: trustdb created

gpg: key F06FC659: public key "Launchpad PPA for J Fernyhough" imported

gpg: Total number processed: 1

gpg: imported: 1 (RSA: 1)

OK

确认无误后,运行apt update更新资源列表,然后安装 Python 3.6:

$ sudo apt update

$ sudo apt install python3.6

Reading package lists... Done

Building dependency tree

Reading state information... Done

The following additional packages will be installed:

libpython3.6-minimal libpython3.6-stdlib python3.6-minimal

Suggested packages:

python3.6-venv python3.6-doc

The following NEW packages will be installed:

libpython3.6-minimal libpython3.6-stdlib python3.6 python3.6-minimal

0 upgraded, 4 newly installed, 0 to remove and 1 not upgraded.

Need to get 4,505 kB of archives.

After this operation, 23.1 MB of additional disk space will be used.

Do you want to continue? [Y/n]

因为源文件在国外,下载软件的过程可能会超时,如果出错,可以重新运行安装命令直到安装完成。完成后可以通过查看 Python 版本来确认是否能够安装成功:

$ python -V

Python 2.7.12

$ python3 -V

Python 3.5.2

$ python3.5 -V

Python 3.5.2

$ python3.6 -V

Python 3.6.5

几个命令下来我们看到,默认的版本还是2.7,Python3 的默认版本还是3.5.2,如果要用 Python 3.6 运行.py脚本的话,需要直接指定 Python 版本:

~/learnpy$ python3 ex5.py

File "ex5.py", line 9

print(f"Let's talk about {my_name}.")

^

SyntaxError: invalid syntax

~/learnpy$ python3.6 ex5.py

Let's talk about David Wei.

He's 170cm tall.

He's 68kg heavy.

Actually that's not too heavy.

He's got Black eyes and Black hair.

His teeth are usually White depending on the coffee.

If I add 36, 170, and 68 I get 274.

如果需要把 Python 3.6 设置为默认版本,可以参考这里:更改Ubuntu默认python版本的两种方法

ubuntu安装python3.6_Ubuntu 16.04上安装和使用Python3.6相关推荐

  1. ubuntu下mysql5.7安装教程_Ubuntu 16.04 上安装 MySQL 5.7 教程

    介绍 MySQL 是一种开源数据库管理系统,通常作为流行的LAMP(Linux,Apache,MySQL,PHP / Python / Perl)堆栈的一部分安装.它使用关系数据库和SQL(结构化查询 ...

  2. ubuntu mysql 5.7_Ubuntu 16.04 上安装 MySQL 5.7 教程

    介绍 MySQL 是一种开源数据库管理系统,通常作为流行的LAMP(Linux,Apache,MySQL,PHP / Python / Perl)堆栈的一部分安装.它使用关系数据库和SQL(结构化查询 ...

  3. 如何在 Ubuntu Linux 16.04上安装开源的 Discourse 论坛

    导读 Discourse 是一个开源的论坛,它可以以邮件列表.聊天室或者论坛等多种形式工作.它是一个广受欢迎的现代的论坛工具.在服务端,它使用 Ruby on Rails 和 Postgres 搭建, ...

  4. Ubuntu 16.04上安装SkyEye及测试

    说明一下,在Ubuntu 16.04上安装SkyEye方法不是原创,是来自互联网,仅供学习参考. 一.检查支持软件包 gcc, make, vim(optional), ssh, subversion ...

  5. 在 Ubuntu 16.04上安装 vsFTPd

    在 Ubuntu 16.04上安装 vsFTPd Ubuntu vsFTPd 关于 vsFTPd vsFTPd 代表 Very Secure File Transfer Protocol Daemon ...

  6. skyeye linux qt,Ubuntu 16.04上安装SkyEye及测试

    说明一下,在Ubuntu 16.04上安装SkyEye方法参考自互联网,仅供学习. 一.检查支持软件包 gcc, make, vim(optional), ssh, subversion binuti ...

  7. 如何在Ubuntu 16.04上安装Swift和Vapor

    翻译自:How to Install Swift and Vapor on Ubuntu 16.04 介绍 Swift是Apple开发的一种编程语言,特点是快,安全和现代化,它有一个支持语言的庞大社区 ...

  8. 在ubuntu 16.04上安装基本的拼音输入法

    在ubuntu 16.04上安装基本的拼音输入法 此处写的主要是ubuntu下ibus支持的最简单的拼音输入法,使用的方便度肯定不如搜狗或谷歌拼音输入法,但是这个贵在安装简单,相比于搜狗输入法,它更加 ...

  9. [Python] Ubuntu 16.04 上安装 python3.7 和 pip 并配置虚拟环境

    文章目录 Ubuntu 16.04 自带 python 2.7 和 python 3.5 安装 python3.7 修改软链接 python3 -> python3.7(非必需) 安装 pip ...

最新文章

  1. 浅析 VO、DTO、DO、PO 的概念、区别和用处!
  2. Java SE(2)
  3. springmvc的初始化参数绑定
  4. Java 反射 不定参数bug
  5. 网易云信携手小天才电话手表 打造视频通话体验的行业标杆
  6. 关于MyEclipse对Struts2配置文件较检异常 Invalid result location value/parameter
  7. 八皇后非递归算法c语言,要求;编写实现八皇后问题的递归解法或非递归解法,对于任意给定的一? 爱问知识人...
  8. 我对Spring的理解
  9. Webpack实战(三):作为前端你不得不懂的Webpack资源入口和出口的配置
  10. 【Kafka】Failed to send data to Kafka: Expiring 30 record(s) for xxx 732453 ms has passed since last a
  11. matplotlib坐标设置(笔记二)
  12. IntelliJ IDEA 记学习笔《装阿里代码规范插件》
  13. 智慧城管统计考评详解
  14. 免费下载百度文库等文档
  15. python爬虫爬取百度图片
  16. 中国标准时间和时间戳互转
  17. 14位科技圈大V评说戴尔科技峰会
  18. 【我的OpenGL学习进阶之旅】着色器编译器和程序二进制码
  19. Java设计模式 - 依赖倒转原则
  20. 互联网券商证券公司网上开户系统设计

热门文章

  1. 给Android车载蓝牙音乐添加盘控控制功能
  2. 小米Java笔试_JAVA后端笔试试题(一)
  3. 怎么使用ArcScene进行洪水淹没分析
  4. 海明校验码原来这样算!!!
  5. MATLAB画三维动态魔方/旋转魔方/旋转立方体
  6. 仿微信 QQ 图片选择器
  7. 几种典型静电场的场强、电势
  8. Linux下使用Curl调用Java的WebService接口
  9. Java第三章习题3-4(for循环输出俄文字母表)
  10. MySQL数据库引擎及区别