vscode在远程服务器上无法找到指定路径下的虚拟环境

起因

因为远程服务器是多人共同使用,因此为了方便管理,在创建虚拟环境时不使用默认路径,指定了环境安装路径:

conda create --prefix=/home/my_env_path 

平时调用环境指定路径就好:

conda activate /home/my_env_path

最近服务器出现故障,经过重启之后发现所在环境都还存在,虽然能够直接指定路径 activate 虚拟环境,但是 conda env list 无法找到对应路径。这也导致在 vscode 上无法选择需要的路径来对代码 debug。
在这里插入图片描述
就算 Enter interpreter path 找到路径也无法使用,它只会 conda activate my_env_path 但这样缺少前置目录没法正常 activate,这就很难受了。

解决办法

网上找了很多方法比如在 conda config 里添加目录等方法:

conda config --show envs_dirs      # 查看环境目录
conda config --show     # 查看 conda 配置
conda config --append envs_dirs /home/my_env_path   # 添加环境目录
conda config --remove envs_dirs /home/my_env_path   # 删除环境目录

但我在另一台没重启过的服务器上发现环境目录和故障的服务器是一样的,所以问题不是在这里。

然后在找的过程中发现一个帖子有人提到 conda 的环境路径保存在 ~/.conda/environment.txt 文件下,经过验证发现确实在故障的服务器上该 txt 文件里没有所需环境的路径,所以打开该文件:

vi ~/.conda/environment.txt

在最后添加自己的环境路径:
!](https://img-blog.csdnimg.cn/b534eec0a885469f989cb7b8d5cb0803.png)

esc + :wq 保存后回到 vscode,(打开 interpreter 查找)找到对应环境的 python 包就可以在创建新终端时自动 activate 环境也可以正常 debug 了。
在这里插入图片描述
在这里插入图片描述
如果刷新后还找不到,可以点 Enter interpreter path 手动查找对应虚拟环境下的 /bin/pyhton 文件即可。

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Visual Studio Code (VSCode) 是一个强大的开源代码编辑器,它支持远程开发,包括连接到远程服务器进行编码和调试。如果你需要在VSCode中管理远程服务器上的Conda环境,可以按照以下步骤操作: 1. 安装Remote Development扩展:确保你已经在VSCode中安装了"Remote-SSH"扩展,这是用于连接远程服务器的基本工具。 2. 创建Conda环境:在本地计算机上,使用`conda create`命令创建你需要的Conda环境。例如: ``` conda create -n myenv python=3.9 numpy ``` 3. 激活远程环境:在服务器上,通过SSH登录到服务器后,激活这个环境: ``` conda activate myenv ``` 4. 配置VSCode:在本地打开VSCode,点击左下角的"+"号扩展图标,索并安装"Remote - Containers"扩展。然后,在扩展的设置中配置: - `settings.json`文件中添加如下内容,指定要在服务器上使用的Conda环境: ```json { "remote.containers.configurations": [ { "name": "My Remote Server", "type": "docker", "dockerFile": ".devcontainer/Dockerfile", // 如果有Dockerfile "image": "your_server_image", // 服务器镜像名称 "command": ["bash", "-c", "conda activate myenv"], // 激活环境的命令 "runArgs": ["--mount", "type=bind,src=${localWorkspaceFolder},dst=/workdir"], // 绑定本地工作目录 "forwardPorts": [8888] // 可选:映射本地端口到服务器 } ] } ``` 5. 连接到远程:点击"Remote-Containers: Connect to Container"或直接输入服务器地址连接到配置好的远程服务器。 6. 使用环境:一旦连接成功,你就可以在VSCode的终端中使用服务器上的Conda环境了,就像在本地环境一样。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值