Pycharm 如何处理虚拟环境及其在激活脚本中设置的变量?

How does Pycharm handle virtual enviroments and their variables set in activate script?

提问人:Dr.Tautology 提问时间:11/16/2023 最后编辑:Dr.Tautology 更新时间:11/16/2023 访问量:37

问:

我在pycharm中遇到了一个问题。我正在使用虚拟环境,并且已将以下行添加到我的激活脚本中

source /home/me/environment.sh

environment.sh 仅包含一些导出变量的行,例如:

#!/bin/bash
export USERNAME="GUY"

当我从 pycharm 中的终端运行 python 解释器时,我能够通过打印出来看到这些变量

os.environ

但是,如果我尝试使用 Pycharm 中的实际运行按钮在我的项目中运行任何 python 脚本,这些变量将不可用。我已经检查了运行/调试配置,一切看起来都正确,并且它正在使用我的 venv 解释器。我确实看到我可以手动将这些变量输入到运行配置中,但为什么它无法从我的活动虚拟环境中识别它们?

蟒蛇 pycharm python-venv

评论

0赞 WENJUN CHI 11/16/2023
您使用哪种工具来创建虚拟环境?
3赞 Brian61354270 11/16/2023
虚拟环境独立于 shell 而存在。“激活”脚本只是为了方便在交互式 shell 中使用虚拟环境。它不是虚拟环境的必要部分,虚拟环境本身根本不使用它。使用虚拟环境仅意味着使用与其关联的解释器(通常)。这就是 PyCharm 运行配置的全部功能。$VIRTUAL_ENV/bin/python3
0赞 Dr.Tautology 11/16/2023
@Brian61354270 这是有道理的。因此,一旦加载项目,Pycharm 必须在 IDE 终端中自动运行激活脚本,但是当直接从 IDE 运行文件时,不会发生这种情况。

答: 暂无答案