LoginSignup
3
2

More than 3 years have passed since last update.

Pythonを実行しているプラットフォーム識別(Kaggle / Colab / Windows)

Last updated at Posted at 2020-03-15

目的

コンペなどで、ローカルとクラウドで、ファイルの読み込み処理やimportモジュールなどが、変わるので自動で切り替えられるようにする。
Kaggle, Google Colaboratory, ローカル(Windows10)

実行環境 (2020/3/15現在)

  • Windows 10 Home(64bit)
  • kaggle
  • google Colaboratory

概要/方法

判別方法、
1.ローカル(Windows)とクラウド判定は、os.nameでOSから判定
2.Kaglle/Colabは、Kaggle固有の環境変数の'KAGGLE_DATA_PROXY_TOKEN'の有無で判定

もっと賢い判定方法があったら、ぜひ教えてください。

各プラットフォームの処理内容

  • Windows:
    • ローカルフォルダから読み込み
    • matplotlibの日本語設定
  • Kaggle:
    • kaggleクラウドフォルダから読み込み
  • Google Colaboratory:
    • Google Driveから読み込み
    • セッション時間の表示(残り時間の確認)

判別

import os

# windows
if os.name == 'nt':
    path = '../input/data/'

    import japanize_matplotlib
    sns.set(font="IPAexGothic")

elif os.name == 'posix':
# Kaggle
    if 'KAGGLE_DATA_PROXY_TOKEN' in os.environ.keys():
        path = '/kaggle/input/'

# Google Colab
    else:
        from google.colab import drive
        drive.mount('/content/drive')
        !ls drive/My\ Drive/'Colab Notebooks'/xxx # xxx 書き換える
        path = "./drive/My Drive/Colab Notebooks/xxx/input/data/" # xxx 書き換える
        # セッションの残り時間の確認
        !cat /proc/uptime | awk '{print $1 /60 /60 /24 "days (" $1 / 60 / 60 "h)"}'

print(os.name)
print(path)
3
2
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
3
2