LoginSignup
54
48

More than 1 year has passed since last update.

Google ColabでJuliaを使う:元々あるノートブックを使う

Last updated at Posted at 2020-05-16

手元でJupyter NotebookでJuliaを実行して、ファイルを.ipynbで保存していたとします。
そのファイルをGoogle Colabでも実行してみたいことがありますよね?
そのやり方についての説明です。

基本的には
https://qiita.com/ueuema/items/ca1b326f5df10a4203bd
と同じです。補足説明がついているだけとなります。

追記:ローカルでの編集を全く必要としないで新しいノートブックをJuliaで始める方法を追記しました。
さらに追記:ローカルでの編集を全く必要としないで新しいノートブックをJuliaで始める方法のJuliaのバージョンを上げる方法を追記しました

Jupyter Notebookの用意

まず、自分で作ったJuliaのJupyter Notebookを用意します。
例えば、
https://github.com/cometscome/QM
のQM 01.ipynb
とかでしょうか。
そして、実行していたJuliaのカーネルを覚えておきます。
覚えていない人は(あるいは人のipynbファイルを使う人は)、.ipynbファイルを開いて、

 "metadata": {
  "kernelspec": {
   "display_name": "Julia 1.1.0",
   "language": "julia",
   "name": "julia-1.1"
  },

のnameを確認してください。これが入れるべきJuliaのバージョンです。なお、書き換えれば任意のバージョンにできます。
このファイルを、Google Colabでアップロードしてください。
新規ノートブックではできませんので注意してください。ローカルに保存していたipynbを使うことに注意です。

ダウンロードとインストール

次に、確認したJuliaのバージョンを入れます。1.1.0であれば、

!curl -sSL "https://julialang-s3.julialang.org/bin/linux/x64/1.1/julia-1.1.0-linux-x86_64.tar.gz" -o julia.tar.gz
!tar -xzf julia.tar.gz -C /usr --strip-components 1
!rm -rf julia.tar.gz*
!julia -e 'using Pkg; pkg"add IJulia"'

で入ります。このコマンドを実行する時点ではJuliaは入っていませんので、「Python」に接続しますのようなメッセージが出ますが、気にしなくて大丈夫です。

次に、

!jupyter kernelspec list

を実行します。ここに、先ほど確認したJuliaのnameが入っていればOKです。違っている場合はバージョンを間違えていれているかもしれません。

Juliaの有効化

次に、

「ランタイム」から、「ランタイムのタイプを変更」を選びます。
そして、「保存」を選びます。
すると、カーネルが一度切断され、Juliaのカーネルが接続されます。

あとは好きなだけJuliaを実行してください。

追記

以下のコードをテキストエディタで開き、test.ipynbみたいな形で保存してください。
その後、colabでそのファイルをアップロードし、書いてあることを実行すればJuliaが使えます。

{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "test.ipynb",
      "provenance": [],
      "collapsed_sections": []
    },
    "kernelspec": {
      "name": "julia-1.4",
      "display_name": "julia-1.4"
    }
  },
  "cells": [
    {
      "cell_type": "code",
      "metadata": {
        "id": "CN08w8uiICa8",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "!curl -sSL \"https://julialang-s3.julialang.org/bin/linux/x64/1.4/julia-1.4.1-linux-x86_64.tar.gz\" -o julia.tar.gz\n",
        "!tar -xzf julia.tar.gz -C /usr --strip-components 1\n",
        "!rm -rf julia.tar.gz*\n",
        "!julia -e 'using Pkg; pkg\"add IJulia\"'"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "sGOaN98-IZxj",
        "colab_type": "text"
      },
      "source": [
        "上記をshift+enterで実行後、「ランタイム」->「ランタイムのタイプを変更」->「保存」を押してください。"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "ls5Cl0hsIndc",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "versioninfo()"
      ],
      "execution_count": 0,
      "outputs": []
    }
  ]
}

さらに追記

上のコードですが、Juliaのバージョンが1.4です。1.6.2にしたい場合には

{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "test.ipynb",
      "provenance": [],
      "collapsed_sections": []
    },
    "kernelspec": {
      "name": "julia-1.6",
      "display_name": "julia-1.6"
    }
  },
  "cells": [
    {
      "cell_type": "code",
      "metadata": {
        "id": "CN08w8uiICa8",
        "colab_type": "code",
        "colab": {}
      },

      "source": [
        "!curl -sSL \"https://julialang-s3.julialang.org/bin/linux/x64/1.6/julia-1.6.2-linux-x86_64.tar.gz\" -o julia.tar.gz\n",
        "!tar -xzf julia.tar.gz -C /usr --strip-components 1\n",
        "!rm -rf julia.tar.gz*\n",
        "!julia -e 'using Pkg; pkg\"add IJulia\"'"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "sGOaN98-IZxj",
        "colab_type": "text"
      },
      "source": [
        "上記をshift+enterで実行後、「ランタイム」->「ランタイムのタイプを変更」->「保存」を押してください。"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "ls5Cl0hsIndc",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "versioninfo()"
      ],
      "execution_count": 0,
      "outputs": []
    }
  ]
}

としてください。つまり、

    "kernelspec": {
      "name": "julia-1.6",
      "display_name": "julia-1.6"
    }

の部分と

        "!curl -sSL \"https://julialang-s3.julialang.org/bin/linux/x64/1.6/julia-1.6.2-linux-x86_64.tar.gz\" -o julia.tar.gz\n",

の部分だけ変更すればバージョンを変更できます。このアドレスはJuliaのページでLinux用のファイルのダウンロードに使われているものです。

54
48
1

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
54
48