Chr*_*s T 4 python windows python-venv visual-studio-code
我安装了 64 位和 32 位 Python。我试图在 VSCode 中使用 32 位 Python.exe 文件创建一个虚拟环境。我在 Python: Select Interpreter 中为我的工作区选择了该版本(即 C:\Program Files (x86)\Python37-32\python.exe)。
然后,我更改了工作区中的 launch.json 文件以包含“python”解释器:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"python": "c:/Program Files (x86)/Python37-32/python.exe"
}
]
}
Run Code Online (Sandbox Code Playgroud)
但是,当我创建虚拟环境时:
py -3 -m venv 32_bit_env
Run Code Online (Sandbox Code Playgroud)
它使用的 python 解释器是来自 C:\Program Files\Python37\python.exe 的 64 位版本,如 pyvenv.cfg 中所示:
home = C:\Program Files\Python37
Run Code Online (Sandbox Code Playgroud)
是否有其他位置可以更改工作区中 python.exe 文件的目录?谢谢你!
您正在混合两个概念:VS Code 使用的 Python 解释器和py
启动器。除此之外,还有python
命令。我将尝试解释它们是如何配置的以及它们如何影响以及什么。
python
命令PATH
仅环境变量。 使用ProcessPATH
环境变量中的第一个文件夹。python.exe
进程PATH
是在启动进程时通过组合用户路径变量和系统路径变量形成的。子进程,例如VS Code的集成终端,PATH
在初始化时会继承父进程的进程。
home
如果虚拟环境处于活动状态,则使用的版本是pyvenv.cfg
. 激活虚拟环境会修改PATH
shell 的属性。python
当您在终端中运行命令时。
py
命令该py
命令是Python 3.3 中添加的Windows 版 Python 启动器。
首先,按照这个顺序检查这些
where py
定位)如果没有另外指定,它将始终使用最新安装的版本。
python.pythonPath
中.vscode\settings.json
,python.pythonPath
关键。
Python: Run Python File in Terminal
当你在 VS Code 中使用时Run: Run Without Debugging
在 VS Code 中使用 .py 文件时Run: Start Debugging
在 VS Code 中使用 .py 文件时具体来说,如果您运行或在集成终端中运行,该python.pythonPath
设置不会影响发生的情况。仅当您为 指定了虚拟环境,并启动了新的集成终端,并且虚拟环境已激活时,才会对其产生影响。也就是说,没有额外添加 VS Code 或 VS Code 集成终端的“魔力”。py
python
python.pythonPath
集成终端(默认情况下)只是一个常规的 Powershell。它不知道您python.pythonPath
在 VS Code 中的设置。
您可以使用 python 3.7-32bit 创建虚拟环境
py -3.7-32 -m venv 32_bit_env
Run Code Online (Sandbox Code Playgroud)
或者,32 位 v.3.7 的完整文件路径。python.exe
,假设使用 Powershell(因此&
):
& "C:\some\path\Python 3.7 32-bit\python.exe" -m venv 32_bit_env
Run Code Online (Sandbox Code Playgroud)
py -0p
如果需要,您可以使用 检查完整的文件路径。然后,您可以通过编辑 settings.json 使该虚拟环境在新的 VS Code 集成终端中自动激活:
{
"python.pythonPath": "C:/tmp/someproj/my_venv/Scripts/python.exe"
}
Run Code Online (Sandbox Code Playgroud)
请注意,\
条目中的每个都必须替换为\\
或/
。必须python.pythonPath
是绝对的。
归档时间: |
|
查看次数: |
5709 次 |
最近记录: |