如何在Python中设置虚拟环境
使用 Python 开发软件时,基本方法是在您的机器上安装 Python,通过终端安装所有需要的库,将所有代码写入单个 .py 文件或笔记本中,然后在终端中运行 Python 程序。
这适用于简单的 Python 脚本项目。但在复杂的软件开发项目中,例如构建 Python 库、API 或软件开发工具包,您通常会使用多个文件、多个包和依赖项。因此,您需要为该特定项目隔离 Python 开发环境。
什么是Python虚拟环境?
Python的官方文档说:
“虚拟环境是一种 Python 环境,其中安装的 Python 解释器、库和脚本与安装在其他虚拟环境中的 Python 解释器、库和脚本以及(默认情况下)安装在“系统”Python 中的任何库隔离,即作为操作系统的一部分安装”
当您为您的项目激活虚拟环境时,您的项目将成为它自己的独立应用程序,独立于系统安装的 Python 及其模块。新虚拟环境有自己的用于安装库的 pip、自己的库文件夹(添加新库的位置)以及用于激活环境的 Python 版本的自己的 Python 解释器。
为多个Python版本创建新的虚拟环境
- 开发环境包含在您的项目中,变得孤立,并且不会干扰您系统安装的 Python 或其他虚拟环境
- 可以为多个 Python 版本创建新的虚拟环境
- 可以在没有管理员权限的情况下将包下载到您的项目中
- 可以轻松打包您的应用程序并与其他开发人员共享以进行复制
- 可以轻松地在文件中为您的项目创建依赖项和子依赖项列表,使其他开发人员可以轻松复制和安装环境
对于通常由单个 Python 脚本发展而来的软件开发项目,建议使用虚拟环境,Python 提供了多种创建和使用虚拟环境的方法。
如何使用Venv安装虚拟环境
Virtualenv是一个设置 Python 环境的工具。从 Python 3.3 开始,它的一个子集被集成到标准库的 venv 模块下。您可以通过在终端中运行以下命令将 venv 安装到主机 Python:
pip install virtualenv
要在项目中使用 venv,请在终端中创建一个新项目文件夹,cd 到终端中的项目文件夹,然后运行以下命令:
python -m venv
像这样:
mkdir projectA
cd projectA
python3.8 -m venv env
当检查新的 projectA 文件夹时,会注意到已经创建了一个名为env的新文件夹。env 是我们虚拟环境的名称,但它可以任意命名。如果检查一下 env 的内容,在 Mac 上你会看到一个 bin 文件夹。还将看到通常用于控制您的虚拟环境的脚本,
lib 文件夹将包含您已安装的库列表。如果您查看它,您将看到虚拟环境默认提供的库列表。
推荐:如何在Windows 10中为Python安装dlib库
如何激活虚拟环境
现在您已经创建了虚拟环境,您需要先激活它,然后才能在项目中使用它。在 Mac 上,要激活您的虚拟环境,请运行以下代码:
source env/bin/activate
这将激活您的虚拟环境。立即,您会注意到您的终端路径包含 env,表示已激活的虚拟环境。
env/Scripts/activate.bat //In CMD
env/Scripts/Activate.ps1 //In Powershel
虚拟环境是否有效?
我们已经激活了我们的虚拟环境,现在我们如何确认我们的项目实际上是与我们的宿主 Python 隔离的?我们可以做几件事。
首先,我们通过在激活的虚拟环境中运行以下代码来检查安装在我们的虚拟环境中的软件包列表。你会注意到只有两个包——pip 和 setuptools,它们是新虚拟环境默认提供的基础包
pip list
接下来,您可以在尚未激活虚拟环境的新终端中运行上述相同的代码。您会注意到您的主机 Python 中过去可能已经安装了更多库。在安装之前,这些库不是 Python 虚拟环境的一部分。
如何在虚拟环境中安装库
要安装新库,您可以轻松地 pip 库。虚拟环境会使用自己的pip,所以不需要使用pip3。安装所需的库后,您可以使用 pip list 查看所有已安装的库,也可以通过运行以下代码生成一个列出所有项目依赖项的文本文件:
pip freeze > requirements.txt
可以随意命名该 requirements.txt 文件?为什么需求文件对您的项目很重要?假设您将项目打包成一个 zip 文件(没有 env 文件夹)并与您的开发人员朋友共享。
要重新创建您的开发环境,您的朋友只需按照上述步骤激活一个新的虚拟环境。他们不必一一安装每个依赖项,只需运行以下代码即可在他们自己的项目副本中安装所有依赖项:
~ pip install -r requirements.txt
请注意,通常不建议共享您的 env 文件夹,并且应该在任何新环境中轻松复制它。通常 env 目录将包含在 .gitignore 文件中(当使用 GitHub 等版本控制平台时),以确保不会将环境文件推送到项目存储库。
如何停用虚拟环境
要停用您的虚拟环境,只需在终端中运行以下代码:
~ deactivate
总结
以上是晓得博客为你介绍的如何在Python中设置虚拟环境的全部内容,Python 虚拟环境使您能够将 Python 开发项目与系统安装的 Python 和其他 Python 环境隔离开来,这使你可以完全控制您的项目并使其易于重现。