#修正
4/11 16:46
・v0.8.0への更新に伴い、色々削除や付け加えした。
#自分の環境
・macOS Catalina バージョン10.15.3
・zsh 5.7.1
・pip 20.0.2
・pyenv 1.2.13
・pipenv 2018.11.26
・python 3.7.5
・JupyterLab 2.1.0
#インストール
##JupyterLab
JupyterLab
本体は
$pipenv install jupyterlab #pipenvの方
$pip install jupyterlab #pipの方
でインストールしました。
##nodebrew
Node.jsをインストールするために、Nodebrewを使用しました。
nodebrew
とは、Node.js
のバージョン管理するためのものです。
それではnodebrewのインストール方法です。
(https://github.com/hokaccha/nodebrew)
この公式のインストール方法を参考にしました。
まず、curl
でnodebrew
をインストールします。
$ curl -L git.io/nodebrew | perl - setup
インストール完了後、PATH
を通します。
$echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.zshrc
(bash
の方は.zshrc
を.bashrc
にしてください)
構成ファイルを再読み込みします。
$source ~/.zshrc
$nodebrew help
で確認します。
バージョンなどの情報が出てきたら、インストール成功です。
##Node.js
やっと本題のNode.js
をnodebrew
を使用し、インストールします。
JupyterLabの拡張機能はnpmを使用してインストールするので、Node.jsが必要です。
$nodebrew install-binary latest
でインストールします。
インストール終了後、
$nodebrew ls
v13.12.0
でインストールされたバージョンを確認します。(私のバージョンはv13.12.0
でした。)
次に、使うバージョンを指定します。
$nodebrew use v13.12.0
Node.js
のバージョンを確認してみましょう。
$node -v
v13.12.0
このようになっているはずです。
完了したら、jupyterLab
を起動します。
$jupyter lab
$jupyter labextension install @username/インストールしたい拡張機能
このようなコマンドを打つことでインストールすることができます。
##jupyterlab-lsp
本命の拡張機能をインストールします。
(https://github.com/krassowski/jupyterlab-lsp )公式サイトを参考にインストールします。
まず、jupyter-lspをインストールします。
pip install jupyter-lsp
次に拡張機能をインストールします。
$jupyter labextension install @krassowski/jupyterlab-lsp
また、jupyterlab
上では@krassowski/jupyterlab-lsp
と検索すればインストールすることができます。お好きな方でインストールしてください。
jupyterLab
でインストールする際はRebuild
とページの再読み込み
は忘れず行ってください。
ターミナルでインストールする方もjupyterLabを起動したままの場合はページの再読み込み
を行ってください。
次にターミナル上で
$pipenv install 'python-language-server[all]' #pipenv の方
$pip install 'python-language-server[all]' #pip の方
のどちらかを実行し、インストールします。
その後、jupyterlabのルートディレクトリとなる場所以外でもファイルを開くことができるようにする.lsp_symlink
を作成します。移動後、開きたい場所のシンボリックリンクを作成します。
mkdir .lsp_symlink
cd .lsp_symlink
ln -s /home home
これで準備は終了です。
#最後に
以上です。最後になりますが、
Tabを押さずにピリオドを打つだけで自動補完してくれるjupyterlab-lsp
でpythonプログラミングを楽しみましょう!
#参考サイト
https://qiita.com/simonritchie/items/34504f03947bfb4f54f5
https://github.com/krassowski/jupyterlab-lsp
https://github.com/hokaccha/nodebrew
https://github.com/palantir/python-language-server
https://serverjs.io/tutorials/getting-started/
https://www.npmjs.com/package/jsonrpc-ws-proxy
https://jupyterlab.readthedocs.io/en/stable/user/extensions.html