在 Visual Studio Code 中使用奇异容器作为 python 解释器

2024-01-12

我通过 VScode 远程 ssh 连接到 HPC 环境,并希望直接在 VScode 中运行 python 代码以进行测试。我想将 python 解释器设置为一个在执行时运行 python 的奇点容器。这是通过在容器的 .def 文件中添加以下行来完成的:

%runscript
  exec python

手动执行容器确实会按预期启动 python 会话。但是,在 VScode 中将 python 解释器的路径设置为容器文件时,没有任何反应。它不断询问解释器的路径,就好像没有收到任何输入一样。我尝试在 VScode GUI 中设置路径并通过在 JSON 设置文件中设置默认路径,如下所示:

{
    "python.defaultInterpreterPath":"~/path/to/singularity.sif"
}

尽管这种方法在这里被报道是成功的:使用 Singularity 容器解释器的 Python 代码完成 IntelliSense https://stackoverflow.com/questions/64247615/python-code-completion-intellisense-using-singularity-container-interpreter; 那里:如何在 Visual Studio 代码中的奇点/docker 图像中使用 python 解释器 https://stackoverflow.com/questions/56764870/how-can-i-use-a-python-interpreter-in-a-singularity-docker-image-in-visual-studi .

然而,我可以选择不包含在奇点容器中的解释器,并且它工作得很好。值得注意的是,如果我将奇点容器构建为沙箱并提供沙箱中 python bin 的路径,它就会起作用。

知道这里会出什么问题吗?我在 Ubuntu 22.04 上使用最新版本的 VScode (v1.68.1) 以及远程 - SSH 扩展 (v0.82.1) 和 Python 扩展 (v2022.8.0);奇点图像是使用(v3.5.3)创建的。


我一直在尝试解决同样的问题,但找到了替代解决方案。

因此,您可以实际运行 vscode server,而不是在主机上运行 vscode serverinside主机上的奇点容器。以下程序是从这条评论 https://github.com/microsoft/vscode-remote-release/issues/3066#issuecomment-1019500216作者:@oschulz github 用户。

  1. 确保您的 vscode 版本 >= v1.64。
  2. Put "remote.SSH.enableRemoteCommand": true在你的 vscode 中settings.json
  3. 在您的本地计算机中,添加如下内容$HOME/.ssh/config
Host myimage1~*
  RemoteCommand singularity shell /path/to/image1.sif
  RequestTTY yes

Host somehost myimage1~somehost
  HostName some.host.somewhere
  User your_username_
  1. 测试它是否有效:尝试ssh myimage1~somehost和类似的东西python3 --version
  2. 将其添加到您的settings.json:
"remote.SSH.serverInstallPath": {
  "myimage1~somehost": "~/.vscode-container/myimage1",
}
  1. 在 vscode 中,使用 RemoteSSH 连接到主机,将主机名指定为myimage1~somehost.

你可能想要Kill VS Code Server On Host...如果有什么东西不工作。只需在 vscode 命令面板中输入“kill”即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Visual Studio Code 中使用奇异容器作为 python 解释器 的相关文章

  • 在PyGI中获取窗口句柄

    在我的程序中 我使用 PyGObject PyGI 和 GStreamer 在 GUI 中显示视频 该视频显示在Gtk DrawingArea因此我需要获取它的窗口句柄realize 信号处理程序 在 Linux 上 我使用以下方法获取该句
  • 如何删除 PyCharm 中的项目?

    如果我关闭一个项目 然后删除该项目文件夹 则在 PyCharm 重新启动后 会再次创建一个空的项目文件夹 只需按顺序执行以下步骤即可 他们假设您当前在 PyCharm 窗口中打开了该项目 单击 文件 gt 关闭项目 关闭项目 在 PyCha
  • 如何使用 python 的 http.client 准确读取一个响应块?

    Using http client在 Python 3 3 或任何其他内置 python HTTP 客户端库 中 如何一次读取一个分块 HTTP 响应一个 HTTP 块 我正在扩展现有的测试装置 使用 python 编写 http clie
  • 如何在python中附加两个字节?

    说你有b x04 and b x00 你如何将它们组合起来b x0400 使用Python 3 gt gt gt a b x04 gt gt gt b b x00 gt gt gt a b b x04 x00
  • 如何调整 matplotlib 单选按钮的大小和纵横比?

    我已经尝试了几个小时来使简单的单选按钮列表的大小和纵横比正确 但没有成功 首先 导入模块 import matplotlib pyplot as plt from matplotlib widgets import RadioButtons
  • python array(10,1) 和 array(10,) 之间的区别

    我正在尝试将 MNIST 数据集加载到数组中 当我使用 X train y train X test y test mnist load data 我得到一个数组 y test 10000 但我希望它的形状为 10000 1 数组 1000
  • OpenCV 跟踪器:模型未在函数 init 中初始化

    在视频的第一帧 我运行一个对象检测器 它返回对象的边界框 如下所示
  • 如何使用 Homebrew 在 Mac 上安装 Python 2 和 3?

    我需要能够在 Python 2 和 3 之间来回切换 我如何使用 Homebrew 来做到这一点 因为我不想弄乱路径并陷入麻烦 现在我已经通过 Homebrew 安装了 2 7 我会用pyenv https github com yyuu
  • 在Python中读取tiff标签

    我正在尝试用 Python 读取 tiff 文件的标签 该文件是 RGB 的uint16每个通道的值 我目前正在使用tifffile import tifffile img tifffile imread file tif 然而 img是一
  • 在 Mac OSX 上从 Python 3.6 运行 wine 命令

    我正在尝试用 Python 编写一个打开的脚本wine然后发送代码到wine终端打开一个 exe程序 这 exe程序也是命令驱动的 我可以打开wine 但我无法进一步 import shlex subprocess line usr bin
  • 如何在 Django Rest 框架中编写“删除”操作的测试

    我正在为 Django Rest Framework API 编写测试 我一直在测试 删除 我对 创建 的测试工作正常 这是我的测试代码 import json from django urls import reverse from re
  • 为什么这个 if 语句会导致语法错误

    我正在尝试设置一个 elif 语句 如果用户按下 Enter 键 代码将继续 但是我不断遇到语法错误 GTIN 0 while True try GTIN int input input your gtin 8 number if len
  • App Engine 实体到字典

    将 google app engine 实体 在 python 中 复制到字典对象的好方法是什么 我正在使用 db Expando 对象 所有属性均为扩展属性 Thanks 有一个名为foo尝试 foo dict
  • Flask 应用程序路由中的多个参数

    烧瓶怎么写app route如果我在 URL 调用中有多个参数 这是我从 AJax 调用的 URL http 0 0 0 0 8888 createcm summary VVV change Feauure 我试图写我的烧瓶app rout
  • 使用 suds SOAP 库进行 HTTP 身份验证的奇怪行为

    我有一个正在运行的 python 程序 它使用 suds 通过 SOAP 获取大量数据 Web服务是通过分页功能实现的 这样我就可以抓取nnn每个 fetch 调用的行并获取下一个nnn与后续的电话 如果我使用如下代码向 HTTP 服务器进
  • Python守护进程:保持日志记录

    我有一个将一些数据记录到磁盘的脚本 logging basicConfig filename davis debug log level logging DEBUG logging basicConfig filename davis er
  • rust-analyzer 未能发现 vscode 中的工作区

    我开始学习 Rust 语言 但有一个问题rust analyzervscode 扩展名 它不提供代码完成 如链接所示 https rust analyzer github io manual html magic completions h
  • 仅允许正小数

    在我的 Django 模型中 我创建了一个如下所示的小数字段 price models DecimalField u Price decimal places 2 max digits 12 显然 价格为负或零是没有意义的 有没有办法将小数
  • 非法指令:MacOS High Sierra 上有 4 条指令

    我正在尝试在 pygame 3 6 中制作一个看起来像聊天的窗口 我刚刚将我的 MacBook 更新到版本 10 13 6 在我这样做之前它工作得很好 但在我收到消息之后 非法指令 4 Code import pygame from pyg
  • 描述符“join”需要“unicode”对象,但收到“str”

    代码改编自here http wiki geany org howtos convert camelcase from foo bar to Foo Bar def lower case underscore to camel case s

随机推荐

  • Symfony2 检查服务中的用户角色

    如何检查 symfony2 服务代码中的用户角色 我应该简单地将用户角色对象发送到服务还是有解决方案允许我从服务级别进行检查 其他答案让您通过容器而不是授权检查器 当它们工作时 它们会产生对容器的紧密依赖 使得将代码迁移到其他项目变得更加困
  • 实体框架代码优先迁移

    运行以下命令时 pm gt Update Database 出现以下错误 System Reflection TargetInitationException 调用目标已引发异常 gt System TypeInitializationEx
  • SONARQUBE lcov 导入错误 - 无法解析 1 个文件路径

    每当我尝试将 lcov 报告导入 SONAR 时 我都会收到以下错误 15 00 17 230 WARN Could not resolve 1 file paths in opt app workload jenkins 25172 da
  • 是否有取消window.onbeforeunload的回调

    我没有实际的用例 但我很好奇 如果用户在触发 window onbeforeunload 时单击 留在此页面上 是否有办法做出反应 回调 http jsfiddle net rWHU9 http jsfiddle net rWHU9 fun
  • Angular JS 在 ng-repeat 中绑定范围数据以形成

    我在 scope data 中有一个项目集合 其中包含字段 id name 和 age 这些项目正在使用 ng repeat 指令显示在视图中 对于每组项目 都有一个相应的 编辑按钮 我希望能够访问按下编辑按钮的特定项目集的值 Html d
  • 使用播放开始时 NoClassDefFoundError => ClassPath$JavaContext

    我制作了一个小的 Scala Play2 0 2 应用程序 我使用时效果很好play run命令 但是当我使用play start or play clean compile stage target start 当尝试使用 Casbah
  • Flask 应用部署到 heroku 时出现 H10 错误

    我的应用程序在本地主机上运行良好 但是当我在 heroku 上部署 Flask 应用程序时出现以下错误 2020 07 01T09 56 02 982007 00 00 heroku router at error code H10 des
  • PHP/MySQL 中的文件下载时间

    我想通过向我的 MySQL 服务器发送请求来查找 PHP 的下载时间 我有一张带有用于下载文件的 href 链接的表 如果我单击下载 下载时间应显示在表格中的文件名旁边 请查看我的代码
  • C# Windows“打开方式>”上下文菜单行为[重复]

    这个问题在这里已经有答案了 可能的重复 文件类型与应用程序关联 C https stackoverflow com questions 222561 filetype association with application c 我正在编写
  • 用命令输出替换视觉选择

    我想用通过管道传输到命令中的选择结果来替换一行的部分内容 例如 echo hello echo world base64 vim 这将打开一个缓冲区hello d29ybGQK在里面 现在按wvw直观地选择d29ybGQK 然后我尝试了 b
  • Google 地图路线上的点击事件

    我试图在点击路线的任何地方画一个圆圈 我寻找有关如何使路线可点击的解决方案 但找不到任何有用的东西 下面是我的代码 单击路线时没有出现任何错误 但没有创建圆圈 directionsDisplay new google maps Direct
  • 如何设置占位符文本的填充

    我正在使用输入标签并在其中设置了占位符值 现在 我想为其中的占位符文本设置填充 但我不能 这是我尝试过的 HTML
  • 如何使用 Javascript 将内容写入另一个浏览器窗口?

    我已经使用 window open 打开了一个新窗口 并且我想使用 window open 调用中的引用将内容写入新窗口 我尝试使用 myWindow document body innerHTML oldWindowDiv innerHT
  • JSON-LD 中的多个上下文

    如何访问 JSON LD 中的两个单独的词汇 我可以使用 2 个 contexts 吗 例如 context vocab http schema org first name givenName last name familyName c
  • 通过 yum install openssl11 将 CentOS 7 升级到 OpenSSL 1.1.1

    我使用 Centos 7 和 OpenSSL 1 0 2k openssl 1 0 2k 19 el7 x86 64 rpm 我尝试通过以下方式升级到 OpenSSL 1 1 1c yum install openssl11 基本上安装 o
  • 如何在多个 C# 调用中使用临时表

    我有一个 C 应用程序 使用 ADO Net 连接到 MSSQL 我需要创建表 具有动态数量的列 然后插入许多记录 然后从表中执行选择操作 每个步骤都必须是单独的 C 调用 尽管我可以在此期间保持连接 事务打开 问题是 Temp 表仅存在于
  • Android - 获取资源编号值时没有已知的包

    我最近更新了我的 android sdk 突然当我尝试构建我的 android 应用程序时 该应用程序出现在我的设备上 但没有采用应用程序图标 并且名称是包名称而不是应用程序名称 然后崩溃马上 在 logcat 中 生成了下图 有没有其他人
  • 如何检查目录是否是厨师中的符号链接

    我只想删除不是 symlnik 的目录 directory var www html do action delete only if end 所选答案不适用于 Windows 或 Bash 为默认解释器的系统 您应该使用跨平台的 Ruby
  • 使用自定义公式函数/自动化脚本的 Maximo 公式?

    在 Maximo 7 6 1 1 中 我想创建一个使用自定义公式函数 自动化脚本的属性公式 我尝试按照以下步骤执行此操作 但不幸的是 当我尝试在 WO Tracking 中使用它时出现错误 BMXAA3761E The event has
  • 在 Visual Studio Code 中使用奇异容器作为 python 解释器

    我通过 VScode 远程 ssh 连接到 HPC 环境 并希望直接在 VScode 中运行 python 代码以进行测试 我想将 python 解释器设置为一个在执行时运行 python 的奇点容器 这是通过在容器的 def 文件中添加以