// Tutorial //

如何在Ubuntu 18.04上安装Python 3并建立本地编程环境

Published on November 15, 2019
Default avatar
By Lisa Tagliaferri
Developer and author at DigitalOcean.
中文
如何在Ubuntu 18.04上安装Python 3并建立本地编程环境

简介

Python是一种灵活多样的编程语言。它的用途广泛,在脚本、自动化、数据分析、机器学习和后端开发方面都具有优势。Python于1991年首次发行,名字的灵感来源于英国喜剧团体“Monty Python”,因此Python开发团队希望让Python用起来很有趣。易于安装配置、代码风格相对简单直接、有即时的反馈和报错,这些特性让Python成为编程初学者的一个很好选择,也同样适合有经验的程序员。Python 3是最新的版本 并被认为是Python的未来.

本教程将指导你在本地Linux机器上安装Python 3,并且通过命令行设置编程环境。此教程将清楚地介绍Ubuntu 18.04的安装过程,但通用原则同样适用于Debian Linux的任何其他发行版。

必备条件

你需要一台安装了Ubuntu 18.04的计算机或虚拟机、对该计算机有管理员权限、机器需联网。你可以通过Ubuntu 18.04的发行版本网页去下载操作系统。

第一步 — 配置Python 3

我们将在命令行上完成安装和配置,命令行(command line)是一种与计算机交互的非图形方式。也就是说,不点击按钮而是输入文本,从计算机接收的反馈结果同样是文本形式。

命令行(command line),也称为shell,或终端(terminal),可以帮助你修改和自动化众多“需要每天在计算机上执行的"任务,是程序员的基本工具。有许多终端命令可以学习,赋予你能力去做更强大的事。 这篇文章 “[Linux终端命令行简介] (https://www.digitalocean.com/community/tutorials/an-introduction-to-the-linux-terminal)” 能让你更熟悉命令行。

在Ubuntu 18.04上,你可以通过点击屏幕左上角的Ubuntu图标并在搜索栏中输入“Terminal”/“终端”,来找到终端应用程序。单击终端应用程序图标便可打开它。或者你可以同时按住键盘上的“CTRL”、“ALT”和“T”键来自动打开终端。

Ubuntu终端命令行

Ubuntu 18.04预装了Python 3和Python 2。为了确保我们的版本是最新的,让我们用apt命令去更新和升级系统。Ubuntu上的apt是英文Advanced Packaging Tool(高级软件包工具)的简写

  1. sudo apt update
  2. sudo apt -y upgrade

此处的-y标志,将会确认我们同意安装所有项目,但根据你的Linux版本,在系统更新和升级时,你可能需要确认额外的系统提示。

当此过程完成后,我们可以通过输入以下命令,去检查系统中安装的Python 3版本:

  1. python3 -V

你将在终端窗口中收到输出结果,它将告诉你版本号。版本号可能有所不同,但将会与此类似:

Output
Python 3.6.5

为了管理Python的软件包,让我们安装pip。这个工具将安装和管理在开发项目中,我们可能会用到的软件包。若想了解更多关于“使用pip安装模块或软件包”的信息,你可以参考这篇文章:“如何在Python 3中调用模块.”

  1. sudo apt install -y python3-pip

Python的软件包安装,可以通过输入以下命令去实现:

  1. pip3 install 软件包的名称

这里的软件包的名称 可以是任何的Python软件包或软件库,比如用于网站开发的Django,或是用于科学运算的NumPy。 因此如果你想安装NumPy,你可以使用这个命令:pip3 install numpy

有一些软件包和开发工具需要额外安装,以确保我们的编程环境有一个健全的配置:

  1. sudo apt install build-essential libssl-dev libffi-dev python-dev

如果有系统提示问是否同意安装,输入y

设置好了Python,安装好了pip和其他工具,我们就可以为我们的开发项目设置一个“虚拟环境”。

第二步 - 配置虚拟环境

虚拟环境使您能够在计算机上为Python项目保留一个独立的空间,从而确保每个项目都有自己的一组依赖软件包,不会干扰任何其他项目。

通过设置编程环境,我们可以更好地控制Python项目、以及管理不同版本的包。在使用第三方软件包时,这一点尤其重要。

你可以设置任意多数量的Python编程环境。每个环境简单来讲,就是计算机中的一个目录或文件夹,其中包含一些脚本以使其成为“环境”。

虽然有几种方法可以在Python中实现编程环境,我们将在这里使用venv模块,它是标准Python 3库的一部分。让我们输入以下命令来安装venv:

  1. sudo apt install -y python3-venv

安装好venv之后,我们就可以创建环境了。我们可以将Python编程环境放某个已有的目录中,也可以使用mkdir创建一个新目录,如下所示:

  1. mkdir environments
  2. cd environments

当你进入希望安装环境群组的目录environments中之后,可以通过运行以下命令创建环境:

  1. python3 -m venv my_env

总的来说这将设置一个新目录my_env,其中包含一些项目,可以使用ls进行查看:

  1. ls my_env
Output
bin include lib lib64 pyvenv.cfg share

这些文件会协同工作,以确保你的项目与本地计算机的大环境隔离,这样系统文件和项目文件就不会混合在一起。这是版本控制的良好实践,可以确保每个项目都可以访问特定的、其所需的包。Python Wheels是一种为Python构建的“包格式”,它可以通过减少需要编译的次数来加速软件生产,它位于Ubuntu 18.04的share目录中。

你需要激活环境才能使用它,你可以通过输入以下命令,调用激活脚本:

  1. source my_env/bin/activate

现在命令行每行的行首提示,将以你的环境名作为前缀,在我们的情况下它被称为my_env。你的前缀可能看起来有些不同,但括号中的环境名称应该是在行首:

这个前缀让我们知道环境my env当前处于活动状态,这意味着当我们在这里创建程序时,它们将只使用这个特定环境的设置和包。

注意 在虚拟环境中,可以使用命令python代替python3,使用命令pip代替pip3。如果在环境之外的计算机上使用python3,则需要专门使用python3pip3命令。

这些步骤完成后,你的虚拟环境就可以使用了。

第三步 — 创建“Hello, World”程序

现在我们已经建立了虚拟环境,让我们创建一个经典的的“Hello, World!”程序。这可以测试我们的环境,若还不熟悉Python,这个程序会让我们有机会更加熟悉它。

为此我们将打开“命令行文本编辑器”(如nano)并创建一个新文件:

  1. nano hello.py

当文本文件在终端窗口打开时,我们将输入我们的程序:

print("Hello, World!")

同时按下CTRLX退出nano,然后当提示问是否想保存时,按下y

一旦你退出nano并返回到命令行,我们将运行这个程序:

  1. python hello.py

刚刚创建的hello.py程序应当使终端命令行输出以下结果:

Output
Hello, World!

若想离开环境,只需输入命令deactivate即可返回到原始目录。

总结

恭喜!现在你已经在本地Ubuntu机器上设置了Python 3的编程环境,可以开始一个编程项目了!

如果你使用着不同的计算机操作系统,请参阅我们与操作系统相关的系列教程:“如何为Python 3安装和设置本地编程环境”。或者,如果你使用的是Ubuntu服务器,可以参考这个教程 “如何在Ubuntu 18.04服务器上安装Python并设置编程环境”。

在本地机器准备好进行软件开发之后,您可以继续学习Python编程,我们有一些免费教程供你参考如何用Python 3编程 电子书,或是参照编程项目教程


Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in our Questions & Answers section, find tutorials and tools that will help you grow as a developer and scale your project or business, and subscribe to topics of interest.

Sign up
About the authors
Default avatar
Developer and author at DigitalOcean.

Default avatar
Gongxia Chen

translator

Developer and author at DigitalOcean.

Still looking for an answer?

Was this helpful?
Leave a comment

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!