4
2

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 1 year has passed since last update.

Deta.shにPythonアプリをデプロイする

Last updated at Posted at 2022-11-10

2023.03現在、サービスのメジャーアップデートにより、従来の方法(以下記載のもの)での新規アプリ作成はおそらく不可能となりました。

はじめに

Herokuの無料プランの廃止に伴い、flaskで作成したアプリのデプロイ先として新たに開拓する。
deta.shにデプロイが出来たので、その手順を紹介する。

※注意
ファイル構成に関してさらっと書いておく。

Herokuにデプロイできる状態であれば、まず以下の手順を行います。
生成されるmain.pyを削除し、app.pyrun.pyなどのメイン実行ファイルのファイル名をmain.pyに変えます。
基本はこの状態でデプロイできるはずです。

インストールが必要なライブラリに関してはrequirements.txtに記載します。

CLIのインストール

CLIをインストールするために以下のコマンドを実行する。
Windowsは、コマンドプロンプトでは動かない動かないのでPowerShellを使用する。

windows
iwr https://get.deta.dev/cli.ps1 -useb | iex
mac/linux
curl -fsSL https://get.deta.dev/cli.sh | sh

これを実行すると、detaコマンドが使えるようになる。

ログインする

deta.shJoin Deta からアカウントの作成アカウントの作成とメールアドレスの認証を行う。

完了したら以下のコマンドを実行する。

deta login

実行するとブラウザが開き、Logged in successfully. と表示されればログイン完了。

アプリを作成する

アプリを作成するために適当なディレクトリに移動し、以下のコマンドを実行する。

app_test の部分には、作成するアプリを識別するための名前を付ける。

deta new --python app_test

実行すると以下のようにURLなどが表示される。endpointがアプリのURLとなる。

Successfully created a new micro
{
        "name": "app_test",
        "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "project": "xxxxxxxx",
        "runtime": "python3.9",
        "endpoint": "https://xxxxxx.deta.dev",
        "region": "us-east-1",
        "visor": "disabled",
        "http_auth": "disabled"
}

実行したディレクトリ直下に、アプリのディレクトリ /app_test が作成され、その中にmain.pyが作成される。これが実行ファイルとなる。

また必要なライブラリ等の情報はrequiremente.txtに記入し、同じディレクトリに設置する。

ここまで出来たら、cdコマンドでアプリのディレクトリに移動し、デプロイを実行する。

deta deploy

以下の表示が出たら完了。先ほどのendpointに記載のURLにアクセスすることでアプリを使用できる。

Deploying...
Successfully deployed changes

pythonのバージョンバージョンを最新以外に指定するときは以下のようにdeta newを実行する。

deta new --runtime pytyhon3.7

デプロイ時の注意点(実際に引っかかったところ)

私がHerokuのアプリをdetaにデプロイしなおした際に、Bad Gatewayエラーで表示できないページがあった。調べてみたところ、URLにマルチバイト文字を含む際にエラーとなることが分かったので、注意。

参考

4
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
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?