ラベル visual studio code の投稿を表示しています。 すべての投稿を表示
ラベル visual studio code の投稿を表示しています。 すべての投稿を表示

2024年2月3日土曜日

Visual Studio Codeのアップデート後に、SSH接続ができなくなった時のこと

article_240204

Visual Studio CodeでサーバーへのSSH接続ができなくなる

昨日までVS codeを使って問題なくSSH接続をしてサーバーを利用していたが、今日これまでと同様の方法で利用しようとしたときに接続できなくなっていることに気がついた。以下のようなメッセージが表示された。

# The remote host may not meet VS Code Server's prerequisites for glibc ...

検索してみると、VSCodeでSSH接続できない原因は様々あるようだったが、上記のようなメッセージから、ホスト側サーバーのライブラリに原因があるようだった。VSCodeを起動させたときに、アップデートのREADMEが表示されたことから、おそらく前日に使用していた時からのアップデートによって、問題が生じたのではないかと考えられた。メニューのaboutで表示してみると、最新バージョンにアップデートされていて、Version 1.86だった。その前のversionは、November 2023の1.85.2であるよう。

Visual Studio Code Updates

VSCodeを前のバージョンにロールバック

サーバー側の対応ではなく、VSCのロールバックによりとりあえず環境を回復することにした。上記のリンクから1.85のインストーラーをダウンロードして起動、指示にしたがってインストールを進めた。途中に出てくるデスクトップアイコンの作成や、パスの追加等は選択しなかった。ウィザードが完了した時点で、元からあったアイコンからVSCを起動すると、無事にバージョンがロールバックされていることが確認できた。また、extensionや設定等は元の状態のままであることも確認できた。SSH接続を再度試行すると、今度は問題なく接続できることがわかった。

自動アップデートの設定を変更

接続の問題は解決したが、VSCodeが再度自動でアップデートされないように、Settings からupdateの設定をNoneに変更することにした。以下の画像中の黄色い矢印で示した通りに、settingsからupdateを検索し、auto updateの設定をnoneに切り替えた。

settings

プラットフォームになっているもののversion updateに注意する

比較的簡単に以前の状態に復旧できたが、時間がないときに通常状態の環境が使用できなくなることは痛手になりうる。condaの時にも感じたことであるが、様々なことのプラットフォームになっているアプリケーションやOS等は、周りの互換性も問題になるので、なるべく管理され計画された形でUpdateをかけた方が良いことを再認識した。ルーティーンの中にそういったupdateを計画、実施する時間も組み込んでいることが望ましいのだろう。

2023年4月1日土曜日

VS basicからssh接続したLinuxのJupyterで、pandasがimportできなかった

つい最近visual studio codeを導入した。

https://code.visualstudio.com/docs


かなりの便利さに驚愕しているが、特にssh接続した先に置いてあったjupyter のノートブックを扱えることが気に入っている。kernelには接続先のconda で導入したpython3を選択することができる。


VS code上でノートブックを開いてpandas, numpy をインポートする際のエラー

扱っている時、pandasやnumpyのインポート時にエラーを吐いてしまって正常にインポートできない。

 

numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject


Visual studio code経由ではなくjupyter labからはimportされていたのでよく分からない。Incompatibilityが原因ということで、完全には原因はわからなかったが 、updateをかけてみた。



 (base)$ conda update conda 



今度はうまくimportできるようになった。


参考:

以下のサイトでは、versionを落とすことでincompatibilityを回避していた。

https://anton0825.hatenablog.com/entry/2021/09/28/000000