如何在 Ubuntu 18.04 上设置 Python 虚拟环境

在本文中,我们将学习如何在 Ubuntu 18.04 专用服务器上设置 python 虚拟环境。 Python 是一种高级动态编程语言。 其简单的语法使其成为快速开发的绝佳选择。 系统管理员使用 Python 来自动化工作负载,开发人员也使用 Python 进行应用程序开发。

Python 标准库的重要部分之一是 venv 模块。 Venv 提供了一种机制来创建一个独立的“虚拟”Python 环境以在其中工作。 在虚拟 Python 环境中处理项目有助于封装该项目的依赖项,并防止与系统更广泛的 Python 环境可能发生的冲突。 在本教程中,我们将讨论如何在 Ubuntu 上启动和运行虚拟 Python 环境。

飞行前检查

这些说明正在以 root 用户身份在 Ubuntu 18.04 LTS 专用服务器上执行。

蟒蛇 3

第 1 步:安装 Python3-venv

首先,作为最佳实践,我们确保所有软件包都是最新的:

root@ubuntu:~# apt-get update -y

接下来,让我们安装python3-venv

root@ubuntu:~# apt-get install -y python3-venv

第 2 步:创建虚拟 Python 环境

现在已经安装了 venv 模块,我们可以继续创建一个虚拟 Python 环境。 让我们首先创建一个项目目录并更改为它。 你可以随意命名它:

root@ubuntu:~# mkdir awesome_python_project
root@ubuntu:~# cd awesome_python_project/
root@ubuntu:~/awesome_python_project#

现在是时候为项目创建虚拟 Python 环境了:

root@ubuntu:~/awesome_python_project# python3 -m venv awesome_venv

你会注意到,如果你列出你的项目目录,里面有一个新目录。 这是您的虚拟 Python 环境的 Python 二进制文件和站点包所在的位置:

root@ubuntu:~/awesome_python_project# ls -l
total 4
drwxr-xr-x 6 root root 4096 Oct 30 20:14 awesome_venv

第 3 步:激活和更新虚拟 Python 环境

现在我们有了一个可以使用的虚拟 Python 环境,让我们激活它:

root@ubuntu:~/awesome_python_project# source awesome_venv/bin/activate

激活虚拟 Python 环境后,用括号括起来的虚拟环境的名称位于命令提示符之前。 这表明现在,我们正在我们刚刚创建的虚拟环境中工作。 我们安装的任何 Python 包都将被隔离到这个虚拟环境中:

(awesome_venv) root@ubuntu:~/awesome_python_project#

虚拟环境激活后,我们将要确保虚拟环境中的几个基本 Python 包是最新的:

(awesome_venv) root@ubuntu:~/awesome_python_project# pip install -U setuptools pip

第 4 步:试一试

现在我们的虚拟环境已经设置好并可以使用了,让我们用一个简单的脚本来试一试。 首先,让我们安装 termcolor 包:

(awesome_venv) root@ubuntu:~/awesome_python_project# pip install termcolor
Collecting termcolor
  Downloading https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz
Installing collected packages: termcolor
    Running setup.py install for termcolor ... done
Successfully installed termcolor-1.1.0

接下来,让我们创建一个简单的 Python 脚本。 首先,运行以下命令:

(awesome_venv) root@ubuntu:~/awesome_python_project# cat << EOF > hello_colors.py
>

之后,粘贴这个 Python 片段。 确保在代码段末尾包含 EOF,然后按 Enter:

#!/usr/bin/env python

import termcolor

for color in termcolor.COLORS.keys():
    print(termcolor.colored("Hello!", color))
EOF

最后,运行脚本:

(awesome_venv) root@ubuntu:~/awesome_python_project# python hello_colors.py

你应该看到“你好!” 用不同的颜色打印了九次。

总结一下,让我们停用虚拟环境:

(awesome_venv) root@ubuntu:~/awesome_python_project# deactivate
root@ubuntu:~/awesome_python_project#

我们需要验证的最后一件事是我们在虚拟环境中安装的软件包 termcolor 是否真正与该环境隔离。 让我们打开一个 Python shell:


root@ubuntu:~/awesome_python_project# python3
Python 3.6.8 (default, Oct  7 2019, 12:59:55)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

现在,尝试导入 termcolor:

>>> import termcolor
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'termcolor'

我们无法导入 termcolor 模块,因为我们不再调用我们创建的虚拟环境中存在的 Python 二进制文件和站点包。 这表明我们系统的 Python 上没有安装 termcolor 模块。

今天就开始吧!

您是否正在使用 Python 来实现程序、脚本或应用程序? 立即联系我们,了解我们如何通过实施专用服务器环境来满足您的需求,您可以在其中开发或搭建网站、应用程序或程序。