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しましょう。

>pip install virtualenv

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

>mkdir virtualenv
>cd virtualenv
>py -m virtualenv jupyter_env

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

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

>jupyter_env\Script\activate
(jupyter_env)>

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

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

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

(jupyter_env)>code .

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

pipをアップグレードする

念のため。

(jupyter_env)>py -m pip install --upgrade pip

jupyterをいれる

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

(jupyter_env)>pip install jupyter

いっぱいはいります。

VSCodeでipynbを作成する

commmand_palet.png

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

notebook.png

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

notebook.png

HelloWorld(できない)

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

print('Hello world!')
image.png

動かない原因

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

参考:Jupyter Notebook with Python 3.8 – NotImplementedError

対策

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

import asyncio    # この下に追記
import sys

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

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

image.png

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

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

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

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

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

参考

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

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

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

广告
将在 9 秒后关闭
bannerAds