8
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VSCodeがネイティブ対応したjupyterをpython3.8で動かそう

Last updated at Posted at 2019-12-09

2020/1/6 venvとvirtualenvを混同していたためvirtualenvについて修正

venvとvirtualenvは別物でした...!

何の記事?

VSCodeがjupyterにネイティブ対応したそうで、webブラウザが無くても
ipynbを操作できるようになっていました。

本記事は「じゃあ使ってみよう!」と思いpython3.8で環境を作ったところ、
詰まった部分があったので、「こうやるとうまくいくよ」という共有の記事です。

anacondaではなくvirtualenv向けの環境を作ります。

環境を作る(コマンドプロンプトで操作)

環境

OS : Windows10
python : 3.8
editor : VSCode 1.40.2

VSCodeに拡張機能のpythonを入れておいてください。
ついでにIntelliCodeも入れておくとハッピーです。

まずはvirtualenv

virtualenvが入っていない場合はpipしましょう。

virtualenvをインストール
>pip install virtualenv

そしたら、仮想環境を作成します。

\Users\usr1
>mkdir virtualenv
>cd virtualenv
>py -m virtualenv jupyter_env

~~~省略~~~
done.(これが表示されたら完了)

そしたら作った環境を起動します。

起動
>jupyter_env\Script\activate
(jupyter_env)>

プロンプト>の前に(jupyter_env)が表示されていれば起動完了です。

ここからはVSCodeで作業します

コマンドプロンプトからVSCodeを起動しましょう。

現在位置は\User\usr1\virtualenv\
(jupyter_env)>code .

VSCodeが起動したら、ターミナルをCtrl+ Shift + ~で表示させます。

pipをアップグレードする

念のため。

pipのアップグレード
(jupyter_env)>py -m pip install --upgrade pip

jupyterをいれる

pipしていきましょう。ほかに必要となるライブラリも一緒に入ってくれます。

(jupyter_env)>pip install jupyter

いっぱいはいります。

VSCodeでipynbを作成する

Ctrl+Shift+pを押してコマンドパレットを開きます。
開いたら、jupyterと入力すると、以下が出てきます。
commmand_palet.png

Python: Create New Blank Jupyter Notebookを選択します。

notebook.png

jupyterっぽい画面が表示されました。

続いてpythonインタープリタを選択します。
Ctrl+Shift+pを押してコマンドパレットを開きます。
開いたら、selectと入力すると、以下が出てきます。
notebook.png
Python: Select Interpreterを選択します。
作った環境名が出てきますので、選択します。

HelloWorld(できない)

早速動かしてみましょう。
1セル目に以下を入力してShift+Enterで実行します。

helloworld
print('Hello world!')

動きません。
image.png

動かない原因

どうやらjupyterが利用しているtornadoというライブラリに不具合があるそうです。

参考:Jupyter Notebook with Python 3.8 - NotImplementedError

対策

tornadoasyncio.pyを編集することで対策できました。

\venv\jupyter_env\Lib\site-packages\tornado\platform\asyncio.py
import asyncio    # この下に追記
import sys

if sys.platform == 'win32':
    asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())

もう一度実行してみましょう。

Shift + Enterで実行します。
image.png
やった!スタート地点に立つことができましたね!

立てなかった方は、ポートが使用済みの可能性があります。

jupyterはデフォルトで8888ポートを使用します。
コマンドプロンプトにてnetstatを実行し、8888が使用されていないか確認してみてください。

それでもだめなら、環境構築に失敗しているかもしれません。
もう一度確認してみてください。

(考慮漏れなど、お気づきの点がございましたらコメントにてご指摘をお願いします!)

それでは、よいジュピ活を!

参考

本記事は、ほかの方々が書いている記事を参考にさせていただきました。

@simonritchie さんの記事
VS CodeのPython拡張がJupyterをネイティブサポートしたそうなので早速使ってみた。

@matuya さんの記事
python3.8 venv環境でjupyter notebook

8
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?