重新安装 miniconda 后 VSCode 路径关闭

问题描述 投票:0回答:1

由于我之前犯的错误,我最终重新安装了 Windows 版 miniconda。现在,我现有的具有自定义环境路径的项目再次工作,但在尝试执行相同操作时,vscode 似乎已关闭。

在 git bash 终端中一切都很好:

user@machine MINGW64 /d/Users/<project-folder> (master)
$ conda activate ./conda
(D:\Users\<project-folder>\conda)
user@machine MINGW64 /d/Users/<project-folder> (master)
$ python
Python 3.8.5 (default, Sep  3 2020, 21:29:08) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> import sys
>>> os.path.realpath(sys.executable)
'D:\\Users\\<project-folder>\\conda\\python.exe'
>>> import sqlite3
>>>

但是在我现有的 vscode 项目中运行相同的代码会导致发出一堆调用:

PS D:\Users\<project-folder>> C:/Users/<user>/miniconda3/Scripts/activate
PS D:\Users\<project-folder>> conda activate d:\Users\<project-folder>\conda
PS D:\Users\<project-folder>>  d:; cd 'd:\Users\<project-folder>'; & 'd:\Users\<project-folder>\conda\python.exe' 'c:\Users\<username>\.vscode\extensions\ms-python.debugpy-2024.6.0-win32-x64\bundled\libs\debugpy\adapter/../..\debugpy\launcher' '60781' '--' 'D:\Users\<project-folder>/main.py'

main.py 打印可执行文件路径,然后导入

sqlite3
,这会导致崩溃。

D:\Users\<project-folder>\conda\python.exe
Exception has occurred: ImportError
DLL load failed while importing _sqlite3: Module not found.
  File "D:\Users\<project-folder>\main.py", line 37, in <module>
    import sqlite3
ImportError: DLL load failed while importing _sqlite3: Module not found

所以显然 vscode 激活了环境,但在尝试导入库时仍然找不到

sqlite3.dll
。唯一的区别似乎是 vscode 通过使用绝对路径来激活环境,我发现无法更改绝对路径,但我认为这不是这里的问题。

深入挖掘一下,我可以看到 vscode 中没有设置环境的路径变量。应该设置以下几项:

D:\Users\<project-folder>\conda
D:\Users\<project-folder>\conda\Library\bin
D:\Users\<project-folder>\conda\Library\mingw-w64\bin
D:\Users\<project-folder>\conda\Library\usr\bin
D:\Users\<project-folder>\conda\Scripts
D:\Users\<project-folder>\conda\bin

其中一个包含无法找到的

sqlite3.dll
文件。至关重要的是,它们实际上是在使用 git bash 终端时设置的。让它们成为 PATH 的一部分静态地解决了问题,但它不允许我在其他 vscode 项目中使用的各种环境之间切换。

我想知道当 vscode 尝试自动启用环境时,我可以做些什么来使它们动态可用?如果能回到重新安装 miniconda 之前的工作方式那就太好了。

我重新安装 miniconda3 时是否搞乱了设置?我依稀记得有关 PATH 的一些选项...

btw:我启动 vscode 的方式是通过 Windows 开始菜单。我可以使用 anaconda 提示符,手动激活环境,然后运行

code .
,但这当然有点不方便。

visual-studio-code path anaconda miniconda
1个回答
0
投票

我可能在这篇文章之后找到了解决方案: https://stackoverflow.com/a/67298127/2220850

从 vscode 终端内部运行

conda init

 首先会导致有关 power shell 安全策略的问题。这些可以通过
规避

Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
来自 Windows PowerShell,如下所述:

https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.4

这里似乎描述了一种更安全的方法,但我无法测试它,因为上述修复阻止我重现原始问题:

https://stackoverflow.com/a/66836989/2220850

© www.soinside.com 2019 - 2024. All rights reserved.