我正在寻找一种方法,从 Windows CMD 或 Powershell 中检查是否已激活 Python 虚拟环境。在 Bash 中,可以使用此条件来检查 venv 是否处于事件状态。

if [[ "$VIRTUAL_ENV" != "" ]]

我也在 Bash 中看到了这一点,我可能可以让它在 Windows 上运行,但感觉就像一个 hack,尽管我们都喜欢一个好的 hack,但我觉得应该有更好的方法。
PYTHON_ENV=$(python -c "import sys; sys.stdout.write('1') if hasattr(sys, 'real_prefix') else sys.stdout.write('0')")

有没有记录在案的,直接的方法来做到这一点?

最佳答案

当然,我在此处提出问题后不久就想出了一种方法,但我将在此处发布作为答案,因为我在网站的其他任何地方都找不到此信息。正如预期的那样,当虚拟环境处于事件状态时,Powershell(可能还有 CMD,虽然我自己没有测试过)会获得一个环境变量集 $VIRTUAL_ENV 。这可以在具有以下条件的 Powershell 脚本中轻松测试:

if (Test-Path env:VIRTUAL_ENV) {...

希望这可以帮助那里的人

关于python-3.x - 如何检查 Python venv 在 Windows 中是否处于事件状态?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57119968/

10-11 21:06