Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使VSCode终端窗口使用正确的python解释器_Python_Visual Studio Code_Vscode Settings - Fatal编程技术网

使VSCode终端窗口使用正确的python解释器

使VSCode终端窗口使用正确的python解释器,python,visual-studio-code,vscode-settings,Python,Visual Studio Code,Vscode Settings,首先,这不是关于如何选择python解释器来运行或调试代码的问题,答案是命令调色板,但这不是问题所在。其次,这不是关于虚拟环境以及如何激活它们的问题。所有这些我都做得很好 以前有人问过我的问题,但没有得到回答,因为人们认为上面的问题之一正在被问,例如,见 我的问题是如何让终端窗口使用特定的解释器,尤其是我的虚拟环境中的解释器。在以下屏幕截图中,请注意:- 从状态栏可以看出,venv解释器处于活动状态,我的代码运行正常 正在从Windows终端使用系统解释器 这导致的一个问题是,我无法从VSCo

首先,这不是关于如何选择python解释器来运行或调试代码的问题,答案是命令调色板,但这不是问题所在。其次,这不是关于虚拟环境以及如何激活它们的问题。所有这些我都做得很好

以前有人问过我的问题,但没有得到回答,因为人们认为上面的问题之一正在被问,例如,见

我的问题是如何让终端窗口使用特定的解释器,尤其是我的虚拟环境中的解释器。在以下屏幕截图中,请注意:-

  • 从状态栏可以看出,venv解释器处于活动状态,我的代码运行正常
  • 正在从Windows终端使用系统解释器
  • 这导致的一个问题是,我无法从VSCode终端运行pip或其他软件包(如PyInstaller),因为它不在我的venv中查找,并且我不想全局安装其中一些软件包


    另一个问题是,我的一些应用程序涉及到版本敏感的软件包,我需要在终端窗口中控制python解释器的版本。

    如果启动python后,选中
    sys.executable
    ,在终端中会看到什么?你希望它是什么样子?@markkortink-当你重新打开VSCode时会发生什么?您是否尝试过使用其他虚拟环境?请尝试刷新终端几次。@Jill Cheng-我已多次重新启动VSCode并多次重新启动终端窗口,它不会改变任何东西。@np8-
    sys.executable
    返回我的系统解释器“'C:\\Users\\mark\\AppData\\Local\\Programs\\Python\\Python 37\\Python.exe”。我希望终端窗口在我的venv中使用解释器,但通常将其指向我选择的任何解释器,我的venv目录是“C:\Users\mark\OneDrive\dev\babyclix\.venv\Scripts”。如屏幕截图所示,终端使用3.7.7和venv 3.7.0。VS代码中的“终端”仅为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
    时启动的文件夹。