前書き
以前、Anvilを触ったのですが、ドキュメントを読み進めると、ローカルに実行環境を作ることができるようで、試しました。
が、素直に動作してくれず、ようやく動作させられたのでメモ。
参考
環境
- Ubuntu 20.04 LTS 日本語 Remix
- Hyper-V マネージャー 10.0.18362.1
- Python 3.8.5
- pip 20.2
- anvil-app-server 1.1
経過
- anvil-app-serverのインストール
pip install anvil-app-server
- テンプレートからアプリを作成
create-anvil-app hello-world hello
- anvil-app-serverの実行
anvil-app-server --app hello
で、エラー
Downloading Anvil App Server JAR to package directory
Failed to download App Server to package directory. Retrying in ~/.anvil
(略)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1123)>
対処方法
1か2どちらかを実施すればOK。
- ブラウザでjarファイルを取得し、指定のディレクトリにコピーする。
- こちらの手順に則って、ファイルをダウンロード。
-
$(HOME)/.local/python3.8/site-packages/anvil_app_server
ディレクトリにダウンロードしたファイルをコピー。
- SSL_CERT_FILE環境変数を追加する。
- こちらの手順に則って、証明書ファイル(cacert.pem)の場所を探す。
- 環境変数
SSL_CERT_FILE
を設定する。
再度、anvil-app-serverを実行したところ、どうにか動作しました。
※対象のファイルが230MBほどあるので、ダウンロードに時間がかかる場合があります。
後書き
対象のjarファイルは一度ダウンロードできればよいので、どちらの方法もありと思います。
ただ、取得元のURLがファイルに直書きされているので、「jarファイルだけがアプデされたら、更新どうするだろう」って感じもする作りなのは気にかかる点ですかね。