Tutorial

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

Published on December 2, 2019
中文
如何在Ubuntu 18.04服务器上安装Python 3并建立本地编程环境

简介

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

本教程将指导你在Ubuntu 18.04服务器上安装Python 3,并且通过命令行设置编程环境。在服务器上进行编程有很多优势,并且支持多个开发项目的协作。这个教程里的通用原则同样适用于Debian Linux的任何其他发行版。

必备条件

想要完成此教程,你需要在Ubuntu 18.04服务器上有一个"非root",但有sudo权限的用户。想学习如何实现这样的设置请参照初始服务器安装指南 ,或是自动化脚本

如果你还不熟悉终端命令行环境,这篇文章"Linux终端简介"能帮你更加熟悉终端。

服务器及用户设置好之后,你就一切就绪可以开始了。

第一步 — 配置Python 3

Ubuntu 18.04和其它Debian Linux的版本中,预装了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.7

为了管理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 python3-dev

设置好了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

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

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

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

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

  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即可返回到原始目录。

总结

恭喜!现在你已经在Debian Linux服务器上设置了Python 3的编程环境,可以开始一个编程项目了!

如果你使用本地电脑而不是一个服务器,请参阅我们与操作系统相关的系列教程:“如何为Python 3安装和设置本地编程环境”。

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

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us


About the authors

Default avatar
Gongxia Chen

translator


Still looking for an answer?

Ask a questionSearch for more help

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!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel