pipでflask(というかパッケージなんでも)をインストールすると、wrong version numberというエラーが出る。

 
 
 
会社(Proxyあり)でpip install --proxy proxy_url:8080 Flaskを実行すると正常終了しなくなった。
結果だけ言うと、pipを20.3.3にアップグレードすると発生する。
pipをアップグレードせず、元のまま(私の環境では19.0.3)では発生しない。
解決策は見つからなかった。
回避策としてはProxy環境でpipを使う場合は、20.3.3にしないこと。
(20.3.1で出た人もいるようなので、20.3.xが怪しい?)
 
 
以下、現象と再現手順
 

現象

 
Proxy環境下で以下コマンド(正確には「ファイル->設定->プロジェクト:プロジェクト名->Pythonインタープリター->「+」」からFlaskをインストール)を実行すると発生する。
(PyCharmで新しいプロジェクトを作成。その際Pythonインタープリタを新規作成する(次の環境を使用[Virtualenv]))
(PyCharmはVirtualenvを作成する際、pipを最新にアップグレードしてくれている模様。)
 
 
エラーメッセージは以下の通り。
 
 

仮説1:PyCharmのバグか?

 
PyCharm Professional 2020.3にアップグレードしたら出始めたので、PyCharmのせいかと疑ってみた。
OSとPyCharmのバージョンが同じで、ネットワーク/マシンが別の環境で同じ手順でインストールしてみて同じエラーが出たらPyCharmのせいかもしれない。
 
今はクラウドという便利な環境があるのでAzure上にVM(Windows)を作成し、PyCharmをインストールしてFlaskを追加してみた。
 
結果だけ言うと、エラー無くFlaskをインストールできた。
 
どうやらPyCharmのバグではないようだ・・・。
 

仮説2:Proxyの設定がおかしい?

 
PyCharmはおかしくないのでProxyがおかしいのかもしれない。
 
PCの設定を再確認し、Proxyを設定し直して実行してみた。
 
最初のエラーと同じメッセージが表示される。
 
!Proxyのせいか?
 

仮説2-2:Proxyサーバの設定がおかしい?

 
仮説2からProxyがおかしいような感じがするので、Proxyサーバ管理者に連絡してみた。
結論だけ言うと、Proxyサーバ管理者のPCからpipでインストールできたという結果が返ってきた・・・。
 
Proxyサーバではなく個人のPCがおかしいんじゃないか?という感じになったので、仮説2は間違いっぽい。
環境の違いを確認してみる必要がある。
 
 

正常終了するPCと、異常終了するPCの違いは何か?

 
1. ネットワークが違う。
  片方はProxy内。
  片方はProxy無し。
 
他には何かないか?
Pythonのバージョンとかを確認していたところ、Pipのバージョンが異なる事に気づいた。
(PyCharmが勝手にバージョンアップしているのを知らなかった)
 
Proxyサーバ管理者のpipバージョンは9.x。私は20.3.3。
 
2. pipのバージョンが違う。
  片方は9.x(エラーが出ない)
  片方は20.3.3(エラーが出る)
 
これかな?
 

仮説3:pipが狂っている。

 
Proxy内ネットワークのPCで、PyCharmを使わず仮想環境を作ってpip installしてみる。
 
pip -Vを実行すると19.0.3だった。
(これで初めてPyCharmがpipをバージョンアップしているのを知った)
 
PyCharmで作成すると20.3.3なので、Pythonに含まれているバージョンは古いバージョン。
 
pip19.0.3のvenvにて、以下を実行。
 
エラー無く終了した。
 
pipが狂っているならこれをバージョンアップしてpip installしたら狂うはず。
 
でバージョンアップしてから

を実行。(flaskはインストール済みなので、適当にflask-sqlalchemyとした)

 
最初のエラーと同じメッセージが表示される!
 
 
Googleで頑張って調べたところ
で、
 
> Solution (well, workaround): don’t upgrade pip to 20.3.1.
 
と言っている人も居たので、たぶんこれだろう。
 
PyCharmの場合勝手にアップグレードしてしまうが、止める方法を調べるのは面倒だったので、いったん作成したあと、venvフォルダを削除し作り直して使う事にした。

 

Python Webフレームワークの選び方

PythonのWebフレームワークはいろいろありすぎて何を選べば良いかすごく迷いますね。
 
私はFlaskを2,3年使っていますが、最近FastAPIという素晴らしいものが出てきたのでこれを機に調べて見ました。
 
今回は、Pythonの有名なWebフレームワークのみを集めています。
対象は以下です。
  • Django
  • Flask
  • Bottle
  • Tornado
  • FastAPI

PythonのWebフレームワークはDjango, Pyramid, Tornado, Bottle, Flask, Falcon, graphene, websauna, sanic, Quart, responder, FastAPIなどなど、いろいろあるようです。

何がスタンダードなのというのもありますが、使うためには情報が無いと困るので、ぱっと調べて情報が出てこなかったものは除外しています。


この情報というのはドキュメントが充実しているか、チュートリアルが充実しているかというものではなく、例えばgoogleで「Python Webフレームワーク」と検索して出てきたものといった意味です。


簡単に言えば人気があるフレームワークと言えると思います。


そもそもここで出てきてくれないと選択肢に上がらないと思っていますので、どんなに素晴らしくても人気がでずに終わってしまったりすると思うんですよね。

人気度

というわけで、早速人気度合いの比較から。

以下はGoogle Trendsです。(常套手段?)

見ていただくとわかると思いますが、Djangoが頭一つ抜けているのがわかります。

続いてBottleかFlaskか。

その後にTornadoかFastAPIかといったところでしょうか。

 

リポジトリ数

GitHubのリポジトリ数というのも、人気度のパラメーターになりそうです。

比較してみましょう。

GitHubでは「このページ(Advanced search)」を使います。

Advanced searchに以下の単語。

Written in this language に 「Python」を指定します。

Django Flask Bottle Tornado FastAPI
227,377 102,654 2,233 4,534

1,721

Djangoが1位。2位がFlaskといったところですね。

FastAPIはおいといて、BottleとTornadoは人気がなさ過ぎる気が・・・。

 

Twitterでの人気度

人気があるフレームワークはTwitterでツイートされている気がしたので、人気度を測ってみました。

Twitterの人気度はどうやって測れば良いのかわかりませんが、Popularityというのが表示されるサイトを見つけたのでそちらで測定してみます。

Popularityを計れるサイト

Django Flask Bottle Tornado FastAPI
52.5 46.2 52.5 62.5

11.9

FastAPIだけなんか異様に低いですね。

そういえば、FlaskとBottleとTornadoは一般的な単語でしたね。

TwitterでFlaskを検索してみたところ、料理の画像がくっついているツイートとかが出てきました。

これは参考にならないので忘れてしまいましょう。

 

誕生年

今度はそれぞれの年齢を確認してみます。

SWは個人的に年齢が長い方が成熟していて、若いほどバグが多い(偏見?)と思っているので、誕生年は重要な要素です。

Django Flask Bottle Tornado FastAPI
2005年 2010年 2009年 2009年

2018年

それぞれ生まれた年は上記の通りです。

Djangoが最も古く、FastAPIが最も若いです。

 

バージョン履歴

誕生年と同じようにバージョン履歴も重要な指標ですよね。

それぞれのバージョンは以下の通りです。

Django Flask Bottle Tornado FastAPI
3.1 1.1.2 0.12.18 v6.0.4 0.61.1

数字が高いほど更新されているように見えますが、バージョン番号付けはルールがないに等しいのでよくわかりませんね。。。

 

tagの数

tagの数で比較してみましょう。

Django Flask Bottle Tornado FastAPI
294 31 75 60 99

回数が多いほどコミュニティが活発で、頻繁にアップデートされていると言えます。

Djangoの更新回数がすごいのがよくわかりますね。

Flaskは少ないですね。バグが少ないという考え方もできるかもしれませんが、どうなんでしょうか。

ちなみに、年齢で割ってみたら活発度合いがもうちょっとわかるかもしれません。

tag数/年齢(2020-誕生年)

Django Flask Bottle Tornado FastAPI
294/15 = 19.6 31/10 = 3.1 75/11 = 6.81… 60/11 = 5.45…

99/2 = 49.5

FastAPIの更新回数がおかしいことがわかります。

まだ2年しか経っていないにもかかわらず49.5回/年(しかも今は2020年9月!)の更新です。

FastAPIの最も古いタグ 0.1.11 のリリース日を確認したところ、 「released this on 16 Dec 2018」とありました。

2018/12/16ということは約9ヶ月しか経過していません!

年132回ペースの更新です!

素晴らしく活発だと言えると思います。コミュニティのやる気を感じられます!

時点でDjango。長くて人気があるものは強いです。

Flaskは年3回程度の更新しかないようですね。

 

それぞれのフレームワークのデータまとめ

 
ひとまずデータをまとめてみます。
上の方で比較したデータだけでなくライセンスなども含めてまとめました。

  Django Flask Bottle tornado FastAPI
アイコン (みあたらない)
開始年 2005年 2010年 2009年 2009年 2018年
GitHub https://github.com/django/django https://github.com/pallets/flask https://github.com/bottlepy/bottle https://github.com/tornadoweb/tornado https://github.com/tiangolo/fastapi
Watch 2.3k 2.3k 322 1.1k 366
Star 51.8k 51.9k 7k 19.4k 20.6k
Fork 22.4k 13.7k 1.3k 5.2k 1.4k
ライセンス BSD 3-clause license BSD 3-clause license MIT License Apache License MIT License
公式サイト https://www.djangoproject.com/ https://palletsprojects.com/p/flask/ http://bottlepy.org/docs/dev/ https://www.tornadoweb.org/en/stable/ https://fastapi.tiangolo.com/
ドキュメント https://docs.djangoproject.com/en/3.1/ https://flask.palletsprojects.com/en/1.1.x/ 同上 同上 同上
Pythonバージョン Django version Python versions 2.7 or 3.5以上 2.7 and Python3 3.5.2以上 3.6以上
1.11 2.7、3.4、3.5、3.6、3.7 (1.11.17 で追加)
2 3.4, 3.5, 3.6, 3.7
2.1 3.5, 3.6, 3.7
2.2 3.5、3.6、3.7、3.8 (2.2.8 で追加)
3.0,3.1 3.6, 3.7, 3.8
依存関係 Django==3.1.1
– asgiref [required: ~=3.2.10, installed: 3.2.10]
– pytz [required: Any, installed: 2020.1]
– sqlparse [required: >=0.2.2, installed: 0.3.1]
Flask==1.1.2
– click [required: >=5.1, installed: 7.1.2]
– itsdangerous [required: >=0.24, installed: 1.1.0]
– Jinja2 [required: >=2.10.1, installed: 2.11.2]
– MarkupSafe [required: >=0.23, installed: 1.1.1]
– Werkzeug [required: >=0.15, installed: 1.0.1]
標準ライブラリ以外無し tornado==6.0.4 fastapi==0.61.1
– pydantic [required: >=1.0.0,<2.0.0, installed: 1.6.1]
– starlette [required: ==0.13.6, installed: 0.13.6]
uvicorn==0.11.8
– click [required: ==7.*, installed: 7.1.2]
– h11 [required: >=0.8,<0.10, installed: 0.9.0]
– websockets [required: ==8.*, installed: 8.1]
Template Djangoテンプレート言語(DTL), Jinja2, カスタムテンプレート jinja2 builtin template engine, mako, jinja2,cheetah 柔軟なテンプレート言語(組み込み。独自なのか不明) なし。任意のテンプレートエンジンを利用可能。
特徴 フルスタック!(全部入り!) マイクロフレームワーク! 1ファイルで使える! ロングポーリングやWebSocketを使うのにおすすめ!  
プラットフォーム OS指定は見当たらず OS指定は見当たらず OS指定は見当たらず LinuxかBSD OS指定は見当たらず
インストール方法 pip install Django pip install Flask pip install bottle pip install tornado pip install fastapi[all]

実行速度は?

まとめた後に思い出しました!

Webページは早い方がいいらしいです。

表示されないWebページはすぐにブラウザバックしますし、必要な指標の様に見えます。

ほとんどアクセスがなければ、どれを使っても関係ない気がしますが、たくさんの人に使ってもらう(予定の)Webページを作るのに、そもそも遅いフレームワークを使っていたら悲しいことになるかもしれません。

実際にどれが早いのかは、全く同じページを作ってみるしかありませんが、世の中にはベンチマークが大好きな人がいて、定期的に計測してくれていたりします。

フレームワークにもベンチマークがないかなーと検索したところ、見つけました。

このページです。

Performance (higher is better)と書いてあるので、数値が高いほどパフォーマンスが高いんじゃないかなと推測して値を確認してみましょう。

 

ページ内検索をしたところ、以下の通りになりました。

順位 フレームワーク スコア
1 FastAPI 12,991
2 Flask 1,711
3 bottle-pypy2 1,621
4 Django 1,491
5 tornado-postgresql-raw not complate

 

FastAPIの早さが際立っています!

もうFastAPI一択でいいんじゃないでしょうか?

2-4位は横並び感。

tornadoは見つかりませんでした。

パフォーマンス測定してもらえないほどマイナーなんでしょうか・・・。

 

bottleはpypy2なので参考程度ですね。実際にはdjangoの方が早いのかもしれません。

 

 

どのフレームワークを選ぶべきか?

というわけで、いい加減どのフレームワークを選ぶか決めましょう。

 

フルスタックフレームワークが欲しい

Django一択です。

フルスタックはこれしかありません。

とりあえずなんでも入っているので、後から機能が足りないということは無いと思います。

 

1ファイルだけコピーすれば使えるのが良い

Bottleですね。

ファイルをコピーすれば使える手軽さが売りです。

若干ドキュメントが少ない気がしますが、そもそもファイルが1つなんだから動きがわからなかったらソースコード見れば良いのです。

ファイルのサイズもそれほど多くないですし、ずっとBottleを使っている人なら暗記してるんじゃないですかね。

 

早いのが欲しい

FastAPIです。

ベンチマークを見ていただければ納得いただけるかと。

また、FastAPIはASGIで動きます。

Djangoもそうですが、非同期通信に対応しているので早さという意味ではWSGIより早いのに納得できるでしょう。

難点があるとしたら、生まれてから間もないことですね。

生まれてから時間が経っていないということは、まだまだ発展途上と言うことです。

発展途上ならバグもあるでしょうし、機能も増えていくかもしれません。

大きく構文が変わるかもしれません。

ドキュメントはありますが、雄志のコードがなかなか見つからないかもしれません。(Qiitaとかね)

それを差し引いてもなかなか魅力があるフレームワークだと思います。

 

ロングポーリングやWebSocketを使いたい。

Tornadoです!と言いたいところですが、Django/Flask/FastAPIなら問題なくできると思います。

Tornadoはそもそもそのために設計されたようなので、バグがすくなさそうなのが魅力です。

 

とりあえず使い始めて拡張したい

Flaskですね。

Djangoは学習コストが重いのが特徴でもあるので、画面1枚に収まるコードで動かし始められるFlaskに軍配が上がります。

Flaskはフルスタックになれるほど豊富なライブラリがPyPIに転がっていますので、DBに接続したいならFlask-SQLAlchey、RESTAPIを作りたいならFlask-RESTFul、ログイン機能が作りたいFlask-Login、manage.pyみたいなのが作りたいFlask-Admin、WebScoketが使いたいFlask-WebSocket(Flask-uWSGI-WebScoket)のようにどんどん拡張していくことが可能です。

 

迷った、何かいいのない?

Flaskをおすすめします。

FastAPIはFlaskの後継なので、構文が似通っており、比較的容易に変更可能です。

学習コストも少なく、使えなくなってもダメージが少ないです。

また、少ないコストで必要最低限のMVC(MVVM)の知識を手に入れることができます。

ドキュメントも豊富で、雄志のソースコードもたくさん転がっています。

いいことづくめの言語と言えるでしょう。

 

 

そもそも私のおすすめはFlaskなのですが、FastAPIにすごい魅力を感じています。

また、FlaskでMVVMを学んだことで、他のフレームワーク(特にフルスタックと呼ばれるもの)を学びやすくなったと感じています。

現在はLaravelを学んでいますが、ドキュメント構成やソースコードの構成を先人が考えてくれているだけでやってることはFlaskと同じです。

FlaskはすべてのWebフレームワークで最も効率よくMVVM(MVC)を学べるフレームワークじゃないかと個人的には考えています。

とりあえず迷ったらFlaskを学んでみてください。

 

 

PyCharm Professional で markdownのプレビュー表示ウィンドウの日本語が化ける(全部「???」になる)問題の対応

自分のPCではならず、AzureのVMだけでなる意味がわからない問題だった。

Azure VMは東日本に作成。(最初は英語だった)

言語設定だろうと言うことで以下を確認。

 

デスクトップ、左下の「ここに入力して検索」に「言語」と入力。

「言語の設定」を開く

「地域」の「国または地域」を「米国」から「日本」に変更。

OS再起動で、文字化けが直った。

 

 

 

XSERVER で Flaskを動かす( XSERVER + Python3 + Flask)

XSERVERでFlaskアプリを動かしてみたくなったので調べて見た。

やった後にドキュメントにまとめた為、途中が間違っている場合があります。

とりあえず検索する

検索したら引っかかったサイトの手順を実行。

エックスサーバーでPython+mySQL+Flask

  1. easy_install ⇒ できた

  2. pyenvを入れる ⇒ できた

  3. pythonをインストール ⇒ できない

あれ?

別の手順を探す

2017年の記事だからねー

環境が違うよねー

ってことで、他の方法を検索

XserverにPythonのライブラリ(Anaconda)をインストールした方法

pyenvまでは同じ。

  1. インストールできるanacondaバージョンを調べる ⇒ できた
    pyenv install -lをやったら、3-5.3.1を見つけたのでそれにしました。
    anaconda3-5.3.1
  2. Anaconda3.5をインストール

できた気がするのでバージョン確認

pythonバージョンが表示されたので動いただろう。

上記の状態で以下を実行したら仮想環境が作成できました。

sourceで起動できたので、後はpython環境と同じですね。

[Windows]pip install RPi.GPIO==0.7.0でエラー (諦めた。。。)

以下のエラーが出た

 

とりあえず表示されているURL(https://visualstudio.microsoft.com/downloads/)にアクセスし Build Tools for Visual Studio 2019 をダウンロード

Build ツールを選択したら5GB程度必要と表示されたけど、何が必要なのか調べるのが面倒なので、そのままインストール。

DL始まったのを見ていたところ、Visual Studio Build Tools 2019は1.26GBらしい。

でかくない?

 

インストール終わったあたりで再起動を求められたので再起動。

再起動後、再度pipを実行したところ、エラーが増えた・・・

RaspberryPiで使うコードだからWindowsでデバッグするのは諦めよう。

PyCharm Professionalが起動しない

数ヶ月前にも似たようなことがあり、そのときはアップデートを諦めた記憶がある。

いつの間にか2,3バージョン上がっているようなので、さすがにそろそろアップデートが必要だと思ったのでアップデートした。

 

現在使用中なのは「PyCharmバージョン2019.3.2」

JetBrains ToolBoxによると、

2019.3.5

2020.1.4

2020.2

2020.2.1RC

が選べる。

 

RCは要らないので、アップデートの最新版2020.2をインストールした。

アップロードからインストールは、Toolboxでボタン1回クリックなので非常に簡単。

年額2,3万取るだけある。非常に便利。

 

が、アップデートが終わって起動しようとすると、PyCharmロゴ画像(?)が表示されたあと何も起こらない。

さすがに起動しないのは調べようがないが、ちょっと前にJetBrainsのHPをサーフィンしていたところ、JetBrainsのツールが日本語に対応した(日本語と韓国語と中国語とかだったかも?)というような記述があり、Pleiadesと一緒には使えないから気をつけてね的なことが書いてあったような気がするのを思い出した。

 

そこで、「PyCharm 起動しない」でグーグル先生に確認したところ、JetBrainsの公式ページにそのものずばりなページを発見!

 

IntelliJ IDEA / PyCharm 等 JetBrains IDE 2020.1 アップデート関連の問題と対処

 

上から順番に読んでいくと、Pleiadesを最新版にすれば解決する模様。

 

なので、以下からPleiadesの最新版を取得。

Pleiades プラグイン・ダウンロード

 

ダウンロードしたexeを使って最新版PyCharm Professionalに日本語翻訳を適応したところ、無事起動できた。

 

プラグインも古いらしいので、起動後、案内に従い最新版に更新。

 

JetBrainsのツールは人気があるためか、すぐに対応が見つかって非常に便利だ。

 

書籍の自炊

家にあるすべての本の電子化を行った。

以下のコードでpdfの数を数えたところ、合計は3,315だった。

 

ほとんどが漫画だが、一部ハリーポッターシリーズのようなハードカバーが含まれる。

かかった期間は、裁断機の購入履歴を調べて見たところ、驚きの7年間。

購入履歴を調べて見て意外に時間が経っているのに驚く。

そんな経ってたっけ???

 

購入した裁断機は「YG-LN」の「BA58A4 a」。

領収書によると送料込みで8,500円程度だった模様。

8,500円が未だに錆びずに使えているのはかなりコスパが良いと思う。

たぶん、当時の自炊ブログや情報サイト(2chまとめとか?)をいろいろ調べて、何が良いのか悩んだ末に購入したので、当時の偉人感謝しかない。

 

スキャナは1台目に2万円くらいした気がする棒状のものを買って後悔して、その後ScanSnap IX500(5万?6万?)を買い直して、最初からこれを買えば良かったと後悔したのを覚えている。

棒のようなスキャナ(1冊スキャンしただけで捨ててしまったので型番なんか覚えていない)は、名刺や免許証をスキャンするのは大得意だったようだ。

書籍の自炊には必須の重送検知機能がないのが致命的で、1冊スキャンするのに30分以上かかる有様だった。

重送された時にページ、前のページの下に潜り込んだりして順番がわからなくなりどうしようもなくなったのを覚えている。

同じ本を持っている友人にSkypeで順番を確認したのは良い思い出(?)だ。

 

構成

ちなみに、私の自炊構成は以下の通り。

  1. スキャナ「ScanSnap ix500」
  2. 裁断機「BA58A4 a」
  3. ix500の洗浄剤(Cleaner F1)
  4. ix500の替えローラー
  5. 書籍保存場所としてSynology DS418play
  6. HDD 3TBを2個
  7. スイッチングハブ 8個口(ネットワークが足りなくなったので)
  8. ルーター(I-O Data WN-AX2033GR2/E、ipv4遅すぎ。ipv6が必要になった)
  9. LANケーブル(10mを2本くらい?)
  10. ACタップ(コンセントが足りなくなった)

 

使用金額

すべてうろ覚えで申し訳ないが・・・

  1. 5-6万
  2. 8,500円
  3. 1,690円
  4. 7,189円
  5. 6万
  6. 1.5万×2
  7. 3,000円かな?
  8. 7,000円
  9. 4,000円?
  10. 3,000円

くらいだと思う。

合計だと 171,379円 – 184,379円

計算してみたら信じられない!

すごい金額だ!

 

それから1冊あたり10分程度の労働時間がかかっている(と思う)。

本を切って、スキャンして、終わるの待って、終わったら新しい本をセットして、スキャン終わった本をまとめて捨てて、スキャン中に他の本を切って、のような作業を延々とする必要がある。

3,315冊なので、10分×3,315とすると、33,150分かかったことになる。(ほんとぉ?)

33,150分は552.5時間。休み無く作業すれば23.02日で終わるらしい。

23日で終わる作業に7年かかったのは若干びっくりした。

ただまあ、すごい飽きるし仕方ないね・・・。

 

ま、なんにせよ、すべての本をNASに入れたのでどこでも閲覧可能になったのは意外に便利だ。

会社で漫画は読まないが、外にいるときの空き時間にとか、あの技術書のここが見たいとか、そういうのですぐに対応できるのは良い。

ついでにSynologyのNASで遊べるのもなかなか良い。

今後は本の購入を電子書籍ですませるようにできれば、家に本があふれかえることはなくなるだろう。

 

書籍の電子化をしてみて

部屋が広くなった。

本をたくさん持っている人にはお勧めしたい。

あと、本棚が不要になる。

部屋の圧迫感がなくなる上、地震が来ても怖くないのは大きい気がする。

思えば、東日本大震災が電子化を始めたきっかけだったように思う。

でかい本棚2段重ねは倒れてきそうで怖いんだよね。

 

後書き

書籍をどのように管理するか(フォルダで分けるのか、アプリ使うのか)、

バックアップをどうするか(PCに入れてUSBHDD?クラウド?)、

形式を何にするか(PDF?epub?)

など、いろいろ考えることがあって、意外に楽しかったと思う。

 

あとは電子書籍をスマホ(iphone8)で読むのがきつくなってきたので、iPadを購入できれば自炊は一段落だと思う。

年だね・・・。

 

 

 

 

Androidの画面をPCで映す方法の調査

Andoroid端末の画面を、PC側でキャプチャ(スクリーンショット撮影、できれば録画)したい。

適当に調べて見たところ、Vysorというアプリを見つけた。

Vysorは、Android側にアプリのインストールが不要で、Chromeの拡張機能であるため、簡単に導入できるとのこと。

Android側の設定は開発者モードを有効にし、USBデバッグをONにするだけで良いとのこと。

開発者モードの有効化は、(個人的な記憶を頼りにすると)、メニューの端末情報だかシステムだかの一番したにある項目を7回くらいタップすればできた様な記憶がある。

これは簡単そうだと、開発者モードをONに変更し、USBデバッグをONに変更、Chromeにアドインをインストールして実行。

なんだか時間がかかったが、無事画面を共有できた。

これは便利だとポチポチ操作していたら、「Proにアップデートしろ!」画面がでて切断・・・。

便利なのは有料なのはわかるが、これはちょっと・・・。

Proへのリンクも出てこないし、画面が切り替わると、モザイクでもかけられているかのように画面が乱れる。

これでは使えないかな・・・。

 

というけで諦めて、VysorをPCからアンインストール。

Android側のアプリもアンインストール。

 

Vysor以外はAndroidにアプリインストールが必要なので、スペック的に動かないかな。どうかな?

10年位前のAndroidなのでバージョンが足りないかもしれない・・・。

 

 

Flaskのドキュメント

Googleで「Flask」を検索すると、以下のページが一番上にヒットする。

Flaskへ ようこそ — Flask v0.5.1 documentation

2019年くらい?(もっと前からかも?)からこんな感じなんだけど、これはすごく古い資料。

 

最新のドキュメントは以下のリンク。

Welcome to Flask — Flask Documentation (1.1.x)

 

日本語で検索したから日本語のドキュメントが出てきてるんじゃないかなと思うけど、現状1.1.xに対して、0.5.1のドキュメントなんかが表示されても困る。

なので、ここにメモしておく。

 

Eclipse Kapua Getting Startedを試してみる

IoT(M2M)のOSSプラットフォームであるEclipse KapuaのGetting Startedを久々に見てみたところ、かなり簡単になっていたので、再度試してみる。

 

以前のコマンド

 

以前のコマンドは以下のようなものだった。(自分のメモなので書き換わってるかも)

 

dockerのイメージが5つあるので、別々に実行(ダウンロード)していた。

ある意味分かりやすいが、2回目以降が面倒。(スクリプトでも作ればいいんだけど)

 

 

今のコマンド

 

今のコマンドはこちら。

 

 

スクリプト作る必要が無くなってて楽ですね。

 

 

クローン

 

使っているPCがWindows10なので、「Windowsキー+r」で「cmd」と入力してEnter。(コマンドプロンプト起動。管理者モード)

 

 

アクセスできない?

 

んじゃ、こっちで。

こちらは問題無く完了。

 

実行の前にdockerコンテナ全部削除

 

昔のkapuaは名前同じだと実行できなかったので、とりあえず削除しておく。

 

全部消えてるのは確認できた。

実行

 

少し時間がかかるけど、放っておけば良い。

 

 

確認

 

コマンドの実行が終わったら確認

 

 

コンテナは動いてるっぽい

 

Webページの確認

 

ブラウザで、「localhost:8080」にアクセス

 

 

Kapuaのコンソールが開いたので、ログインする。

 

問題無くログインできた。

 

とりあえず動かすのは成功。

 

気になる・・・

 

ちょっと気になるのは、dockerのコンテナが6個になっていること。(昔(kapua ver1.0.2くらい)は5個)

「kapua/kapua-events-broker」なんてものはいなかった・・・。(今は1.0.4)

こいつが何者なのかが分からない。

メモリ使用量が増えてなければいいんだけど・・・。

 

ステータスを確認してみよう。

 

メモリ使用量が5%くらい増えてる。

実数で200MB。

他のサービスに比べれば誤差かなってことで気にしないことにしよう。。