python-3.x - 如何检查 Python venv 在 Windows 中是否处于活动状态?
问题描述
我正在寻找一种方法,从 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')")
是否有任何记录在案的、直接的方法来做到这一点?
解决方案
当然,我在这里提出问题后不久就想出了一种方法,但我会在此处发布此作为答案,因为我无法在网站上的其他任何地方找到此信息。$VIRTUAL_ENV
正如预期的那样,当虚拟环境处于活动状态时,Powershell(可能还有 CMD,虽然我自己没有测试过)会获得一个环境变量集 , 。这可以在具有以下条件的 Powershell 脚本中轻松测试:
if (Test-Path env:VIRTUAL_ENV) {...
希望这可以帮助那里的人
推荐阅读
- java - JVM 外部的 EXCEPTION_ACCESS_VIOLATION Tomcat 9
- c# - 从 IEnumerable 创建一个 Lookup<,>
> - php - Laravel 查询生成器对表 password_resets 的空白响应
- java - Firebase facebook 和 gmail 帐户未合并
- docker - Kafka 集成测试,无法设置启用 SASL 的机制
- java - 通过分隔符解析时的值偏移
- c - 写下这个给定代码的最坏情况运行时间 O(n)?
- linux - 如何在 Debian 10 Buster XFCE 中启用第三个屏幕
- html - Spring Security 自定义登录页面不允许我进入
- python - 时间序列分析的熊猫日期时间问题