【发布时间】:2020-11-04 21:45:20
【问题描述】:
TL;DR
这个问题NOT询问如何选择一个Python解释器来运行或调试代码,此外;这个问题NOT询问关于虚拟环境的任何事情,或者如何激活虚拟环境,所有那是有效的。我觉得重要的是要注意,之前已经提出过以下问题,但由于对所问内容的混淆而未能得到令人满意的答案。社区成员经常认为我在这个问题开头提到的一个问题是被问到的,这里有一个问题是我刚刚写的 here 的一个很好的例子。
这是我的问题:
用户如何配置他们的集成终端以使用用户指定的解释器?
我希望能够将我的终端配置为在我的虚拟环境中使用解释器——它们是下面屏幕截图中我的虚拟环境解释器的一个示例。
-
从状态栏中显示 VENV 解释器处于活动状态,并且我的代码运行良好。
-
从 Windows 终端 正在使用系统解释器。
由此引起的问题是,我无法从 集成终端 运行 pip 或其他软件包,例如 PyInstaller,因为它没有查看我的 VENV 内部,此外;我不想全局安装这些包。
发生的另一个问题是,我的应用程序的某些部分包含版本敏感包,我需要控制集成终端使用的python解释器的版本。
【问题讨论】:
-
如果您在启动 python 后检查
sys.executable,您会在终端中看到什么?你希望它是什么? -
@Mark Kortink - 重新打开 VSCode 时会发生什么?您是否尝试过使用其他虚拟环境?请尝试多次刷新终端。
-
@Jill Cheng - 我已多次重启 VSCode 并多次重启终端窗口,但没有任何改变。
-
@np8 -
sys.executable返回我的系统解释器“'C:\\Users\\mark\\AppData\\Local\\Programs\\Python\\Python37\\python.exe'” .我希望终端窗口在我的 venv 中使用解释器,但通常将其指向我选择的任何解释器,我的 venv 目录是“C:\Users\mark\OneDrive\dev\babyclix\.venv\Scripts”。如屏幕截图所示,终端使用 3.7.7 和 venv 3.7.0。 -
VS Code 中的“终端”只是 cmd.exe 或 Powershell(在大多数情况下)。在这种情况下,它似乎是 cmd.exe。似乎由于某种原因,PATH 环境变量中有一个路径,其中包含一个包含错误 python.exe 的文件夹,即使在激活 venv 之后也是如此。打开 cmd.exe,查看
echo %PATH%的输出。然后,运行C:\Users\mark\OneDrive\dev\babyclix\.venv\Scripts\activate.bat并再次检查echo %PATH%。发生了什么变化?第一个带有python.exe的文件夹是您运行python时启动的文件夹。
标签: python visual-studio-code vscode-settings python-venv