[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

[Python] 创建和管理虚拟环境(venv)

大家好,我是系统解决方案部的犬好。

这次,我们将使用Python的venv创建一个虚拟环境。

什么是 venv?

venv 是 3.3 版本中添加的一个模块,用于在基础 Python 上创建轻量级 Python 虚拟环境。

通过使用虚拟环境,您可以逐个项目安装 Python 包,而不是在系统范围内安装。

这允许您为每个项目使用不同的版本和包,并启动其他项目,而无需考虑依赖关系的影响。

从版本 3.5 开始,建议使用 venv 创建虚拟环境。 (截至2023/08)

venv --- 创建虚拟环境

实际上做到了

现在我们来尝试一下。

如果您使用的是 3.3 或更高版本,则这是标准功能,因此无需额外安装。

这次我在 Windows 上使用 Python 3.11.0。

 
python -V Python 3.11.0

创建虚拟环境

为了方便起见,创建一个名为 test_dir 的目录并在其中创建一个虚拟环境。

创建 venv (python -m venv) 的命令与 Linux 上相同。

创建名称为myenv1,方便虚拟环境的管理。

 
mkdir test_dir cd test_dir python -m venv myenv1

为了方便查看,有些列被隐藏了,但 venv 的内容如下。
这次我们将重点介绍如何使用它,因此我们将省略细节,但这些目录/文件对于配置虚拟环境很重要,因此请不要轻易更改它们。

 
ls myenv1 目录:C:\Users\ichik\test_dir\myenv1 模式 LastWriteTime 名称 ---- ------------- ---- d----- 2023/08/28 13 :30 包含 d---- 2023/08/28 13:30 库 d---- 2023/08/28 13:30 脚本 -a---- 2023/08/28 13:30 pyvenv.cfg

启用虚拟环境

使用以下命令启用虚拟环境。

执行后,如果提示符开头显示环境名称,则已成功启用。

.\myenv1\Scripts\Activate.ps1 (myenv1) PS C:\Users\ichik\test_dir>

*命令因执行环境而异,请参考下表。

平台 启用虚拟环境的命令
POSIX bash/zsh $ 来源 /bin/激活
$ 来源 /bin/activate.fish
csh/tcsh $ 来源 /bin/activate.csh
电源外壳 $  /bin/激活.ps1
视窗 执行程序 C:\>  \脚本\activate.bat
电源外壳 PS  C:\>  \脚本\Activate.ps1

显示环境名称时,将执行虚拟环境 Python 而不是基本 Python。

请注意,创建标准 venv 时,虚拟环境的 Python 版本和基础 Python 版本是相同的。

 python -V Python 3.11.0 

前面说过,虚拟环境上的包是独立的,你只需按照自己的喜好安装即可使用。

禁用虚拟环境

使用以下命令停用虚拟环境。

(myenv1) PS C:\Users\ichik\test_dir> 停用

如果不再需要虚拟环境本身,删除整个目录也没有问题。

ex ) 我想复制并重用虚拟环境

例如,如果您想在不同的PC上使用它或与其他人共享它进行开发,您将不​​会复制和重用venv本身。

创建包列表并使用 git 等共享源代码。

您可以使用以下命令输出软件包列表。

(myenv1) PS C:\Users\ichik\test_dir> python -m pip freeze >requirements.txt

现在,在新启动的虚拟环境中运行以下命令来一次性安装所有软件包。

(myenv1) PS C:\Users\ichik\test_dir> python -m pip install -rrequirements.txt

ex2 ) 我想启动一个不同版本的虚拟环境(Windows)

您还可以通过安装任何版本来启动具有不同版本的虚拟环境。

首先,检查安装的版本。

py --list -V:3.11 * Python 3.11(64 位) -V:3.9 Python 3.9(64 位)

这一次,我们将使用Python 3.9开始一个新的。

py -3.9 -m venv pyenv39 .\pyenv39\Scripts\Activate.ps1

虚拟环境已启动,其版本与基础版本不同!

(pyenv39) PS C:\Users\ichik\test_dir> python -V Python 3.9.13

之后,您可以参考此处的源代码和requirements.txt并执行pip install来运行不同版本的程序。

概括

  • venv 是 3.3 版本中添加的一个模块,用于在基本 Python 之上创建轻量级 Python 虚拟环境
  • 不同的项目可以使用不同的版本和包
  • 可以启动其他项目而不必考虑依赖关系的影响。

感谢您的观看。

如果您觉得这篇文章有帮助,请点赞!
4
加载中...
4 票,平均:1.00 / 14
3,832
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[大阪/横滨] 积极招募基础设施工程师和服务器端工程师!

[大阪/横滨] 积极招募基础设施工程师和服务器端工程师!

写这篇文章的人

关于作者

犬宿

2021 年 4 月作为应届毕业生加入 Beyond。
也许是因为我的输出有问题,但有时我会说一些奇怪的话。