[英]Use singularity container as python interpreter in Visual Studio Code
我正在通過 VScode 遠程 ssh 連接到 HPC 環境,並希望直接在 VScode 中運行 python 代碼以進行測試。 我想將 python 解釋器設置為一個在執行時運行 python 的奇異容器。 這是通過在容器的 .def 文件中添加以下行來完成的:
%runscript
exec python
手動執行容器確實會按預期啟動 python 會話。 但是,將 python 解釋器的路徑設置為 VScode 中的容器文件時,沒有任何反應。 它一直在詢問解釋器的路徑,就好像它沒有收到任何輸入一樣。 我嘗試在 VScode GUI 和 JSON 設置文件中設置默認路徑,如下所示:
{
"python.defaultInterpreterPath":"~/path/to/singularity.sif"
}
雖然這種方法在這里被報道成功: Python code completion IntelliSense using Singularity container interpreter ; 還有: 如何在 Visual Studio 代碼中的奇異點/泊塢窗圖像中使用 python 解釋器。
但是,我可以選擇不包含在奇點容器中的解釋器,它工作正常。 值得注意的是,如果我將奇點容器構建為沙箱並提供到沙箱中 python 的 bin 的路徑,它就可以工作。
知道這里可能出了什么問題嗎? 我在 Ubuntu 22.04 上使用最新版本的 VScode (v1.68.1) 和 Remote - SSH 擴展 (v0.82.1) 和 Python 擴展 (v2022.8.0); 奇點圖像是使用 (v3.5.3) 創建的。
我一直在嘗試解決相同的問題,但找到了替代解決方案。
因此,您實際上可以在主機上的奇異容器內運行 vscode 服務器,而不是在主機上運行 vscode 服務器。 以下過程由@oschulz github 用戶從此評論中刪除。
"remote.SSH.enableRemoteCommand": true
放入你的 vscode 的settings.json
$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_
ssh myimage1~somehost
和類似python3 --version
的東西settings.json
:"remote.SSH.serverInstallPath": {
"myimage1~somehost": "~/.vscode-container/myimage1",
}
myimage1~somehost
。 你可能想Kill VS Code Server On Host...
如果某些東西不起作用。 只需在 vscode 的命令面板中輸入“kill”即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.