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

ops/2024/11/15 4:27:41/

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

介绍

本教程将帮助您在 Ubuntu 16.04 或 Debian 8 服务器上设置 Python 3 编程环境。在服务器上进行编程有许多优势,并且使团队更容易在开发项目上进行协作。本教程的一般原则适用于 Debian Linux 的任何发行版。

Python 是一种多才多艺的编程语言,可用于许多不同的编程项目。最初于 1991 年发布,其名称受到了英国喜剧团体蒙提·派森的启发,开发团队希望使 Python 成为一种使用起来很有趣的语言。易于设置,并以相对简单直接的风格编写,能够立即反馈错误,Python 是初学者和经验丰富的开发人员的绝佳选择。Python 3 是目前最新版本的语言,被认为是 Python 的未来。

本教程将指导您在 Debian Linux 服务器上安装 Python 3 并设置编程环境。

先决条件

在开始之前,您需要安装了 Ubuntu 16.04、Debian 8 或其他版本的 Debian Linux 的服务器。您还需要一个 sudo 非根用户,您可以通过以下教程之一进行设置:

  • 使用 Ubuntu 16.04 进行初始服务器设置
  • 使用 Debian 8 进行初始服务器设置

如果您还不熟悉终端环境,您可能会发现文章 “Linux 终端简介” 有助于更好地了解终端。

步骤 1 — 设置 Python 3

Ubuntu 16.04、Debian 8 和其他版本的 Debian Linux 都预装了 Python 3 和 Python 2。为了确保我们的版本是最新的,让我们使用 apt-get 更新和升级系统:

sudo apt-get update
sudo apt-get -y upgrade

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

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

python3 -V

您将在终端窗口中收到输出,以了解版本号。版本号可能会因您使用的是 Ubuntu 16.04、Debian 8 还是其他版本的 Linux 而有所不同,但看起来类似于这样:

Python 3.5.2

为了管理 Python 的软件包,让我们安装 pip

sudo apt-get install -y python3-pip

pip 是一个用于 Python 的工具,用于安装和管理我们可能想在开发项目中使用的编程包。您可以通过输入以下命令来安装 Python 包:

pip3 install package_name

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

还有一些其他软件包和开发工具需要安装,以确保我们拥有强大的编程环境:

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

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

步骤 2 — 设置虚拟环境

虚拟环境使您在服务器上拥有一个隔离的空间,用于 Python 项目,确保每个项目都可以拥有自己的一组依赖项,不会干扰任何其他项目。

设置编程环境为我们提供了对 Python 项目和不同版本的软件包如何处理的更大控制权。这在使用第三方软件包时尤其重要。

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

我们需要首先安装 venv 模块,它是标准 Python 3 库的一部分,以便我们可以调用 pyvenv 命令来为我们创建虚拟环境。让我们通过输入以下命令来安装 venv:

sudo apt-get install -y python3-venv

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

mkdir environments
cd environments

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

pyvenv my_env

实质上,pyvenv 设置了一个包含一些项目的新目录,我们可以使用 ls 命令查看其中的内容:

ls my_env
bin include lib lib64 pyvenv.cfg share

这些文件共同确保您的项目与本地机器的更广泛上下文隔离开来,以便系统文件和项目文件不会混合在一起。这对于版本控制和确保每个项目都可以访问其所需的特定软件包是一个良好的实践。Python Wheels 是 Python 的一种内置软件包格式,可以通过减少编译次数来加快软件生产速度,它将位于 Ubuntu 16.04 的 share 目录中,但在 Debian 8 中,它将位于每个 lib 目录中,因为没有 share 目录。

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

source my_env/bin/activate

现在,您的提示符将以您的环境名称为前缀,本例中称为 my_env。根据您运行的 Debian Linux 版本不同,您的前缀可能看起来有所不同,但括号中的环境名称应该是您在行上看到的第一件事:

ubuntu:~/environments$)">  

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

在按照这些步骤后,您的虚拟环境已准备就绪。

第三步 — 创建一个简单的程序

现在我们已经设置好了虚拟环境,让我们创建一个简单的“Hello, World!”程序。这将确保我们的环境正常工作,并让我们有机会更加熟悉 Python(如果我们还不熟悉的话)。

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

ubuntu:~/environments$)">nano hello.py

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

python">print("Hello, World!")

通过输入 controlx 键来退出 nano,当提示保存文件时按 y

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

ubuntu:~/environments$)">python hello.py

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


Hello, World!

要离开环境,只需输入命令 deactivate,你就会回到原来的目录。

结论

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

要在另一台计算机上设置 Python 3,请按照 Ubuntu 16.04、Debian 8、Windows 10 或 macOS 的本地编程环境指南进行操作。

有了为软件开发设置好的服务器,你可以继续学习更多关于 Python 编程的知识,可以通过阅读“理解 Python 3 中的数据类型”和“如何在 Python 3 中使用变量”来深入学习。


http://www.ppmy.cn/ops/114575.html

相关文章

DepthCrafter:为开放世界视频生成一致的长深度序列

通过利用视频扩散模型,我们创新了一种新颖的视频深度估算方法–DepthCrafter。 它可以为开放世界视频生成具有细粒度细节的时间一致性长深度序列,而无需摄像机姿势或光流等附加信息。 简介 动机。 尽管在静态图像的单目深度估算方面取得了重大进展&…

【前端学习】作用域实际问题学习记录

在复习apply,call,bind的时候遇到了一个作用域问题。 let name noName let age 18function getMyname() {console.log(my name is this.name, and I am this.age years old); }getMyname() }在全局使用let定义变量name和age之后,运行g…

认识结构体

目录 一.结构体类型的声明 1.结构的声明 2.定义结构体变量 3.结构体变量初始化 4.结构体的特殊声明 二.结构体对齐(重点难点) 1.结构体对齐规则 2.结构体对齐练习 (一)简单结构体对齐 (二)嵌套结构体对齐 3.为什么存在内存对齐 4.修改默认对齐数 三.结构体传参 1…

Flink 实现无界流

Flink 实现无界流 package org.example.test;import org.apache.flink.api.common.functions.FlatMapFunction; import org.apache.flink.api.common.functions.MapFunction; import org.apache.flink.api.java.ExecutionEnvironment; import org.apache.flink.api.java.opera…

【数据结构-差分】力扣1589. 所有排列中的最大和

有一个整数数组 nums ,和一个查询数组 requests ,其中 requests[i] [starti, endi] 。第 i 个查询求 nums[starti] nums[starti 1] … nums[endi - 1] nums[endi] 的结果 ,starti 和 endi 数组索引都是 从 0 开始 的。 你可以任意排列…

【数据结构】经典题

所以,语句 x; 的语句频度为:n(n1)(n2)/6 选C 临时变量 t:只使用了一个额外的变量来存储交换的值。 没有使用额外的数组:所有的操作都是在原数组 a 上进行的。 因此,算法的空间复杂度是常数级别的&#xff0…

使用Apache SeaTunnel高效集成和管理SftpFile数据源

本文为Apache SeaTunnel已经支持的SftpFile Source Connector使用文档,旨在帮助读者理解如何高效地使用SFTP文件源连接器,以便轻松地使用Apache SeaTunnel集成和管理您的SftpFil数据源。 SftpFile 是指通过 SFTP(Secure File Transfer Proto…

LeetCode题练习与总结:回文链表--234

一、题目描述 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 示例 1: 输入:head [1,2,2,1] 输出:true示例 2: 输入&#x…