问题描述
我的同事无法使用我们组织使用的 Python Azure 函数在 VS Code 中进行调试。克隆函数库的时候,提示她创建虚拟环境,但是在这个提示下没有找到python版本:Select a Python interpreter to create a virtual environment
她尝试了手动输入她的Python解释器完整路径和在集成终端中手动创建虚拟环境,但该功能在调试时无法启动。但是,该函数确实开始在终端中使用 func start
。我们已按照此处的所有步骤操作并确保安装了所有必需的软件包:https://docs.microsoft.com/en-us/azure/azure-functions/create-first-function-vs-code-python
当我尝试重现该问题时,还提示我创建虚拟环境,但我的解释器出现并且环境已成功创建。我使用的是 Python 3.7.9,我的同事使用的是 3.8.3。我们都在使用 Anaconda 版本的 Python。
我们也尝试过手动运行:
python -m venv .venv
.venv\Scripts\activate && pip install -r requirements.txt
在终端中,但是当我们尝试调试时看到此错误:
> Executing task: .venv\Scripts\python -m pip install -r requirements.txt <
activate does not accept more than one argument:
['C:\\Users\\ddx\\anaconda3','/d','/c','.venv\\Scripts\\python','-m','pip','install','-r','requirements.txt']
解决方法
我们找到了一种解决方法来进行调试工作。 activate does not accept more than one argument
错误发生在 pipInstall 要求的 tasks.json 中。删除该要求后,我们能够获得要调试的函数。看起来该函数实际上并没有在虚拟环境中运行,而是使用 conda 环境。但我们至少可以调试。