繁体   English   中英

使用venv时是否需要激活虚拟环境

[英]Do I need to activate virtual environment when using venv

在 Mac 上使用 Python 3.7.0。 尝试使用在 python 3.4 后添加的venv模块。

我使用python3 venv -m path/to/my/dir设置我的虚拟环境 - 我的问题是我需要激活这个虚拟环境才能使用吗?

文档似乎暗示我不需要?

您不需要特别激活环境; 激活只是将虚拟环境的二进制目录添加到您的路径中,以便“python”调用虚拟环境的 Python 解释器,您可以运行已安装的脚本而无需使用它们的完整路径。 但是,安装在虚拟环境中的所有脚本都应该可以在不激活的情况下运行,并自动与虚拟环境的 Python 一起运行。

如果我不必激活,将 venv 预先添加到二进制目录有什么好处? 无论 venv 是否正常工作,都不会发生这种情况吗?

激活 virtualenv 为您提供方便 它从来都不是必需的。

即使对于配置为使用#!/usr/bin/env python运行的脚本(在您的路径上查找python可执行文件),您也可以手动更新PATH环境变量:

$ PATH="/path/to/venv/bin" some_script

激活会使PATH更新保持不变,直到您再次停用,这很方便。

例如,我经常同时使用多个 virtualenv。 其中一些只是为了安装一些命令行工具,我已经符号链接到我的~/bin/目录,另一个是 Jupyter 笔记本的家,还有两个用于快速验证不同 Python 版本中的代码片段,并访问第三个-派对图书馆。 我不激活其中任何一个。

当您激活 virtualenv 时,所发生的一切都是您的终端PATH变量未更新以将 virtualenv 的bin目录放在首位,因此当您在终端中输入pythonpip或其他没有任何路径的脚本时,shell将找到一个不同的 Python 二进制文件来运行。 通过提供该命令的完整路径,您始终可以使用 virtualenv bin/目录中的任何命令。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM