如何在Ubuntu 18.04服务器上安装Python 3并设置编程环境

介绍

Python是一种灵活的多功能编程语言,可用于许多用例,具有脚本,自动化,数据分析,机器学习和后端开发的优势。1991年首次出版,其名称灵感来自英国喜剧组织Monty Python,开发团队希望使Python成为一种有趣的语言。快速设置,并以相对简单的方式编写并立即反馈错误,Python是初学者和经验丰富的开发人员的绝佳选择。Python 3是该语言的最新版本,被认为是Python的未来。

本教程将使用Python 3编程环境设置您的Ubuntu 18.04服务器。服务器上的编程具有许多优点,并支持跨开发项目的协作。本教程的一般原则适用于Debian Linux的任何发行版。

准备

为了完成本教程,您应该拥有一个sudo具有Ubuntu 18.04服务器权限的非root用户。要了解如何实现此设置,请按照Linux系统下给非root用户添加sudo权限。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器

设置好服务器和用户后,即可开始使用。

第一步 - 设置Python 3

Ubuntu 18.04和其他版本的Debian Linux预装了Python 3和Python 2。为了确保我们的版本是最新的更新,我们使用Ubuntu高级封装工具的apt命令更新并升级系统:

sudo apt update
sudo apt -y upgrade

-y标志将确认我们同意所有要安装的项目,但根据您的Linux版本,您可能需要确认其他提示作为系统更新和升级。

一旦完成该过程,我们可以通过输入以下内容来检查系统中安装的Python 3的版本:

python3 -V

您将在终端窗口中收到输出,告知您版本号。虽然这个数字可能会有所不同,但输出结果与此类似:

Python 3.6.5

要管理Python的软件包,让我们安装pip,这个工具将安装和管理我们可能想要在我们的开发项目中使用的编程包。

sudo apt install -y python3-pip

可以通过输入以下命令安装Python包:

pip3 install package_name

在这里,package_name可以引用任何Python包或库,例如用于Web开发的Django或用于科学计算的NumPy。因此,如果您想安装NumPy,可以使用该pip3 install numpy命令执行此操作。

还有一些软件包和开发工具可以安装,以确保我们为编程环境提供强大的设置:

sudo apt install build-essential libssl-dev libffi-dev python3-dev

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

第二步 - 设置虚拟环境

虚拟环境使您可以在服务器上为Python项目创建一个隔离空间,确保每个项目都有自己的一组依赖项,这些依赖项不会破坏任何其他项目。

设置编程环境使我们能够更好地控制Python项目以及如何处理不同版本的包。在使用第三方软件包时,这一点尤为重要。

您可以根据需要设置尽可能多的Python编程环境。每个环境基本上都是服务器上的一个目录或文件夹,其中包含一些脚本以使其充当环境。

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

sudo apt install -y python3-venv

安装完成后,我们就可以创建环境了。让我们选择我们想要放入Python编程环境的目录,或者用mkdir创建一个新目录,如:

mkdir environments
cd environments

进入您希望环境生存的目录后,可以通过运行以下命令来创建环境:

python3.6 -m venv my_env

本质上,pyvenv设置一个新目录,其中包含一些我们可以使用ls命令查看所有项:

ls my_env

输出如下:

bin include lib lib64 pyvenv.cfg share

这些文件一起用于确保您的项目与本地计算机的更广泛的上下文隔离,以便系统文件和项目文件不会混合。这是版本控制的良好实践,并确保您的每个项目都可以访问所需的特定软件包。Python Wheels是Python的内置包格式,可以通过减少编译所需的次数来加速软件生产,它将位于Ubuntu 18.04 share目录中。

要使用此环境,您需要激活它,您可以通过输入以下调用activate脚本的命令来实现它:

source my_env/bin/activate

您的命令提示符现在将以您的环境名称为前缀,在这种情况下,它名为my_env。根据您运行的Debian Linux的版本,您的前缀可能会有所不同。

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

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

执行这些步骤后,您的虚拟环境即可使用。

第三步 - 创建“Hello,World”计划

现在我们已经设置了虚拟环境,让我们创建一个传统的“Hello,World!”程序。这将让我们测试我们的环境,并为我们提供更熟悉Python的机会,如果我们还没有。

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

nano hello.py

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

print("Hello, World!")

通过输入CTRLX键退出nano ,并在提示保存文件时按y

一旦退出nano并返回shell,让我们运行程序:

python hello.py

您刚刚创建的hello.py程序应该使您的终端产生以下输出:

Hello, World!

要离开环境,只需输入命令deactivate,您将返回到原始目录。

结论

恭喜!此时,您在Debian Linux服务器上设置了Python 3编程环境,现在您可以开始编码项目了!

想要了解更多关于Ubuntu的开源信息教程,请前往腾讯云+社区学习更多知识。

参考文献:《How To Install Python 3 and Set Up a Programming Environment on an Ubuntu 18.04 Server》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

一种新型的Web缓存欺骗攻击技术

为了减少WEB响应时延并减小WEB服务器负担,现在WEB缓存技术已经用的非常普遍了,除了专门的CDN,负载均衡以及反向代理现在也会缓存一部分的网页内容。这里我要...

1274
来自专栏从零开始学自动化测试

appium+python自动化45-nox连不上问题解决

最新下了个最新版的夜神模拟器,然后adb devices发现连不上模拟器了,报adb server version (36) doesn’t match thi...

1231
来自专栏喵了个咪的博客空间

PhalGo-初识PhalGO

PhalGo-初识PhalGO PhalGo是一个API开发框架,因为使用了Echo框架同样也能用于MVC的开发,MVC具体可以参考Echo官方文档,对于Pha...

30910
来自专栏生信技能树

用Modules优雅地管理服务器的环境变量

在我管理的基因组学群里,今天有人提出了这样一个问题,如果有多个版本的BLAST,并且都是用conda安装,应该如何调用不同版本的BLAST

1172
来自专栏涤生的博客

服务框架之注册中心,你不知道的内幕

前一篇服务框架技术栈粗略分析了服务框架需要的各个核心模块,首先提到的就是注册中心,注册中心实现了服务注册和发现的功能,在服务框架中也发挥着重要的作用。今天主要围...

1172
来自专栏未闻Code

从Workflowy到印象笔记

Workflowy是一个极简风格的大纲写作工具,使用它提供的无限层级缩进和各种快捷键,可以非常方便的理清思路,写出一个好看而实用的大纲。如下图所示。

2042
来自专栏云计算教程系列

Prometheus升级指南

Prometheus是一个基于Metrics的监控系统 ,与Kubernetes同属CNCF(Cloud Native Computing Foundation...

1.1K2
来自专栏吴柯的运维笔记

【Linux】不得不了解的软件包管理与安装指令

软件安装包(两种格式): .rpm---<rpm package manager> .deb---<Debian系统专属的安装包格式> yum...<yello...

3729
来自专栏微信公众号:Java团长

JavaWeb学习总结(一)——JavaWeb开发入门

  WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。   Internet上供外界访问的Web资源分为:

1762
来自专栏黑泽君的专栏

Maven异常:Could not transfer artifact org.slf4j:slf4j-api:jar:1.6.4 from/to central

我用Eclipse开发Maven项目,本来好好的,但是后来导入一个新的Maven项目,莫名其妙的其中pom.xml文件报错,后来执行install命令时又编译不...

1621

扫码关注云+社区

领取腾讯云代金券