jupyter notebookのリモートアクセスの設定&&jupyer権限の設定の問題&

4113 ワード

まず、Anacondaをインストールします.
デフォルトでは、Anacondaをインストールしてjupyter notebookを開き、ローカルlocalhost:8888にアクセスします.しかし、リモートサーバ上のnotebookなどの別のマシンにアクセスする場合、デフォルトでは172.104.105.119:8888のようなアクセスはサポートされていません.追加の構成が必要です.
jupyter notebookのリモートアクセスを設定するための公式ガイドは、リモートサーバで次の操作を行います.
1.notebookプロファイルの生成
デフォルトでは、プロファイル~/.jupyter/jupyter_notebook_config.pyは存在せず、独自に作成する必要があります.次のコマンドを使用してプロファイルを生成します.
jupyter notebook --generate-config

rootユーザーが上記のコマンドを実行している場合、次の問題が発生します.
Running as root it not recommended. Use --allow-root to bypass.

プロンプトは、rootユーザーが実行するときに--allow-rootオプションを追加する必要があることが明らかです.
jupyter notebook --generate-config --allow-config

実行に成功すると、次の情報が表示されます.
Writing default config to: /root/.jupyter/jupyter_notebook_config.py

2.パスワードの生成
自動生成
jupyter notebook 5.0バージョンから、パスワード:jupyter notebook passwordを設定するコマンドが提供され、生成されたパスワードはjupyter_notebook_config.jsonに格納されます.
$ jupyter notebook password
Enter password:  ****
Verify password: ****
[NotebookPasswordApp] Wrote hashed password to /Users/you/.jupyter/jupyter_notebook_config.json

手動生成
提供されたコマンドを使用する以外に、手動でインストールすることもできます.私は手動でインストールしています.jupyter notebook passwordの内容がたくさん出ているので、辛抱強く見ていません.ipythonを開いて次の内容を実行します.
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'
sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aedという列は、jupyter_notebook_config.pyに追加するパスワードです.
c.NotebookApp.password = u'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'

3.プロファイルの変更jupyter_notebook_config.pyで次の行を見つけ、コメントをキャンセルして変更します.
c.NotebookApp.ip='*'
c.NotebookApp.password = u'sha:ce...         '
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888 #         ,         

以上の設定が完了すると、jupyter notebook、jupyter notebook、rootユーザーはjupyter notebook --allow-rootを使用してサーバ上で起動できます.IP: を開き、パスワードを入力するとアクセスできます.
隠しディレクトリ(.で始まるディレクトリ)でjupyter notebookを起動しないと、ファイルに正常にアクセスできません.
Jupyter実行時に次のエラーが発生しました:Unexpected error while saving file:arma/Untitled.ipynb[Errno 13]Permission denied:
Jupyterのファイルの一部を変更するには、次のコードを実行します(実行後に再起動すればいいです).
sudo chmod 777 ~/.local/share/jupyter/
cd ~/.local/share/jupyter/
ls
sudo chmod 777 runtime/
cd runtime/
ls

直したら問題ない!
今日はJupyterでまた問題が発生しました.プロセスはこうです.前に作成したテンプレートフォルダをコピーしました.cdが入ってからJupyter.pyファイルを実行し、ブラウザを自動的に開いた後、次のエラーが表示されます.
an error occurred while creating a new notebook
Create Untitled.ipynb [Errno 13] Permission denied:
ブラウザのpython 2またはpython 3をクリックして新しいUntitled.ipynbを作成すると、Permission denied:、権限が不足しています.
権限が足りないと言っている以上、sudo命令でどうなるか見てみましょう(結果は以下の通りです).
はい、sudoを使わないでください.役に立たないのは、作成できないことです.それから、フォルダの権限の問題で、質問フォルダにデータを書く権限がないのではないでしょうか.そこで、以前に作成できたnotebookのフォルダの権限を確認しました:l
上図は私が修正した結果です(修正命令:chmod変更権限 chown改帰属者 chgrp帰属グループ):
   フォルダの権限はdrwxrwxr-xです.
   ファイルのグループはubuntu-mmに属するべきです.
  ファイルの帰属者はubuntu-mmであるべきである
同じ内部ファイルの権限は次のとおりです.
もしあなたのフォルダやフォルダやファイルが上のあなたの権限の状況ではないならば、あなたは上の状況に変えるのが適当な時、このようにあなたが使うことができるかどうか分かりません~
1、tmpディレクトリを変更する所属ユーザーはroot、ユーザーグループはroot
chown -R root:root /tmp

2、tmpディレクトリを書き込み可能権限に変更する
chmod -R 777 /tmp

 
複数バージョンのpythonをAnacondaでインストールした場合、またはanacondaを複数回アンインストールした場合、pythonのkernelカーネルのインストールパスが混乱し、Jupyter notebookが使用できなくなりました.
解決策
  • まずAnaconda Prompt
  • を開く
  • jupyter kernelspec listインストールされたカーネルと場所
  • を表示
  • インストールディレクトリに入り、kernel.jasonを開き、pythonのエディタのパスファイルがインストールパスと同じかどうかを確認します.
  • 異なる場合はpython-m ipykernel install--userと入力し、カーネルを再インストールすれば
  • です.
  • jupyter notebookを再起動すれば使用できます. 
  • jupyter kernelspec uninstall yourKernel