【发布时间】:2021-06-28 09:19:32
【问题描述】:
在 VS Code 中尝试以 python 交互模式加载包时得到ModuleNotFoundError 后,我现在怀疑当前虚拟环境在 Jupyter Kernel 中没有正确加载,尽管我在右上角的下拉菜单中选择了它(见截图)。
因此我运行了一个单元格
import os
os.environ['VIRTUAL_ENV']
得到了
import os...
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
c:\Users\user\OneDrive\Desktop\aig\decoding_methods.py in
2 import os
----> 3 os.environ['VIRTUAL_ENV']
C:\Python37\lib\os.py in __getitem__(self, key)
679 except KeyError:
680 # raise KeyError with the original key value
--> 681 raise KeyError(key) from None
682 return self.decodevalue(value)
683
KeyError: 'VIRTUAL_ENV'
表示虚拟环境确实没有加载。在控制台中加载环境和模块没有问题。这是一个错误还是我做错了什么?
【问题讨论】:
-
你应该使用
try/except来捕获这个错误,或者你应该使用os.getenv('VIRTUAL_ENV'),如果系统中没有'VIRTUAL_ENV',你会得到None。 -
对我来说:venv 的正确路径与
'VIRTUAL_ENV'无关 - 值'VIRTUAL_ENV'可以以不同的方式设置,或者可能需要为此 venv 使用active -
这只是为了测试是否使用了
venv,因为我不确定ModuleNotFoundError是否是由于这个原因。当我从常规的 jupyter notebook 运行它时,没有出现错误,进一步表明问题出在 vs 代码中。
标签: python visual-studio-code jupyter python-venv virtual-environment