web-dev-qa-db-ja.com

リモートサーバーでSpyder / Pythonを実行する

この質問にはさまざまなバリエーションがありますが、頭に釘を打つものはまったくありません。

スパイダーを実行し、サーバーでインタラクティブな分析を行いたいです。私は2台のサーバーを所有していますが、どちらもスパイダーを所有していません。両方ともpython(linux server)ですが、必要なパッケージをインストールするためのSudo権限がありません。

要するに、ユースケースは次のとおりです。ローカルマシンでスパイダーを開きます。サーバーの計算能力を使用するために何かをここで行う必要があります(ここで助けが必要です)。

更新:

1つのサーバー上のパッケージでpythonnを更新しました。次に、カーネル名とスパイダーへのリンクを把握します。質問の以前のバージョンをそのままにしておくことは、まだ有用です。

Dockerプロセスは、paramikoと同様に少し威圧的です。私のオプションは何ですか?

5
pythOnometrist

Spyderメンテナはこちら)リモートサーバーにSpyderカーネルを作成し、SSHで接続する必要があります。それはあなたが望むことをするために私たちが提供する唯一の機能です。

our docs で、正確な手順を見つけることができます。

9
Carlos Cordoba

クラスター内の多くのワーカー間で実行する必要のあるコードをすばやく反復したいときに、過去の仕事でこのようなものを長時間検索しました。私が見つけた商用およびオープンソースのタスクキュープロジェクトはすべて、任意のコードを実行するのではなく、任意の入力で固定コードを実行することに基づいていました。

また、私が見逃した何かがそこにあるかどうかを確認したいと思います。しかし、私の場合、私は独自のソリューションを構築することになりました(残念ながらオープンソースではありません)。

私の解決策は:

1)Redisキューを作成し、各タスクは、bashセットアップスクリプト(pipインストールなど)を含むZipファイル、実行する「ペイロード」Pythonスクリプト、および入力データを含むpickleファイルで構成されました。

2)「ペイロード」Pythonスクリプトは、ピクルファイルまたはZipファイルに含まれる他のファイルを読み取ります。 output.Zipという名前のファイルを出力します。

3)タスクワーカーは、ファイルを解凍し、bashセットアップスクリプトを実行し、Pythonを実行するPythonスクリプト(リモートマシンで実行、Redisキューをリッスン)でした_ 脚本。スクリプトが終了すると、ワーカーはoutput.Zipをアップロードします。

ワーカーが同じbashセットアップスクリプトを連続して2回実行しないように、さまざまな最適化が行われました(最新のセットアップスクリプトのSHA1ハッシュを記憶していました)。それで、とにかく、最悪の場合、あなたはそれをすることができました。セットアップには1〜2週間かかりました。

編集:

1つのリモートマシンで実行する必要がある場合の2番目の(より多くの手動の)オプションは、sshfsを使用してリモートファイルシステムをローカルにマウントし、Spyderでファイルをすばやく編集することです。次に、sshウィンドウをリモートマシンに対して開いたままにして、コマンドラインからPythonを実行して、そのマシンでスクリプトをテスト実行します。 (これがRaspberry Piプログラムを開発するための私の標準セットアップです。)

0
Luke