web-dev-qa-db-ja.com

vscode(ローカルマシン上)をGoogle Colab(無料サービス)ランタイムに接続することは可能ですか?

GCPでは、vscodeサーバーをセットアップして接続できます。しかし、私がここにいるのは、Google Colabのランタイムインスタンス(無料のもの、つまり https://colab.research.google.com )に接続できるかどうかを知ることですローカルで実行されるvscode。私が間違っていなければ、ローカルに新しいインスタンスを作成してそれに接続する代わりに、vscodeでリモートのJupyterカーネルに接続できます。

したがって、まずPython 3ノートブックを作成し、次にローカルマシンからvscodeを起動し、Colabランタイムに接続してvscode内のコードを作成できるかどうかを知りたいですか?

ここにはローカルなものは何もありません。すべてのファイル、ノートブック、すべてがGoogle Colabにあります。それは、Google独自のエディターの代わりにvscodeを使用してコードを記述し、コードを実行するだけです(デバッグなど)。

更新

回答のおかげで、Google Colabに接続できました。しかし、sshを終了して再度ログインしようとすると、これに直面しました。

Creating config file /etc/ssh/sshd_config with new version
Creating SSH2 RSA key; this may take some time ...
2048 SHA256:yxFwLslfRq7YZFWNIhAD8TfJdp6sTfFbR2CXOWcysOA root@7561da0610da (RSA)
Creating SSH2 ECDSA key; this may take some time ...
256 SHA256:6Yo/7I9JPyYfKJYvtiVelNFHrIL7R1xaB09fDWbVYf4 root@7561da0610da (ECDSA)
Creating SSH2 ED25519 key; this may take some time ...
256 SHA256:r1HvJi/Y9twPkXoayNA4cSF55eH4MdOETHhXNSiC4ok root@7561da0610da (ED25519)
Created symlink /etc/systemd/system/sshd.service → /lib/systemd/system/ssh.service.
Created symlink /etc/systemd/system/multi-user.target.wants/ssh.service → /lib/systemd/system/ssh.service.
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of start.
Copy authtoken from https://dashboard.ngrok.com/auth
··········
Root password: aCsRocquey6953P9tHhF
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python3.6/json/__init__.py", line 299, in load
    parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
  File "/usr/lib/python3.6/json/__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.6/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Google Colabランタイムを再起動し、ngrokトークンを変更して再試行しましたが、うまくいきませんでした。

10
Rika

pythonパッケージ、 colab-shh があります。ただし、colabはブラウザから手動で開いてインスタンスを作成する必要があります。colabdosn 'まだそれを行うAPIがあります。

2
Aditya Kendre

2回目のログインで同じ問題が発生し、ようやくそれがわかりました。

この問題は、。/ ngrokファイルの実行権限がないために発生します。私の理解では、最初にngrokをダウンロードして解凍すると、実行権限が取得されました。トンネルを作成することができました。しかし、Colabランタイムが再起動されたとき、./ngrok authtoken $authtoken ....を試したときに、アクセス拒否エラーが発生したため、これらのアクセス許可は自動的にリサイクルされたと思います。

したがって、実行する必要があるのは、。/ ngrokに実行権限を再割り当てすることだけです。たとえば、chmod 755 ./ngrokを実行します。そして、スクリプトは動作します。

1
rain x

セッションを終了すると、ポートが変更されるため、再接続できません。私も試してみたところ、不可能だというエラーが出る。

ただし、もう一度セットアップを実行してhttps://dashboard.ngrok.com/status、ポートが変更されたことがわかります。その後、新しいリモート接続として使用できます。このようにして、再び接続できるようにしました。

私が理解している限り、セッションが終了すると、Googleはファイルを保持しません。

1
Manuel Baun