python

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のツールは人気があるためか、すぐに対応が見つかって非常に便利だ。

 

Flaskのドキュメント

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

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

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

 

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

Welcome to Flask — Flask Documentation (1.1.x)

 

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

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

 

Synology DS418Play購入

VPNを使いたいので購入してみました。

 

結果としてはプロバイダがBIGLOBEでIPv6接続の場合は使えませんでした。(これから二重ルータを試してみようとは思いますが)

 

使えませんでした、では買った意味が無いので色々やってみようかと思います。

 

色々やってみるのに、パッケージを眺めていたところ、pythonを見つけたので使ってみます。

 

パッケージをインストール

 

パッケージセンターからインストールするだけなので、解説は不要

 

 

SSHを有効化

 

  1. コントロールパネルを開く
  2. 端末とSNMPをクリック
  3. ターミナルタブの「SSHサービスを有効化する。」にチェックを入れる(ポート番号は22)

 

TeraTermでログイン

 

ホスト Synology NASのIP Address(192.168.*.*)
ユーザ名 AdministratorグループのユーザID
パスフレーズ 上のパスワード

 

こんな感じでログイン可能

 

cpuinfo

 

とりあえずcpuinfoでも見てみましょう。(抜粋)

公式HPに載ってる通りですね。

 

pythonの実行

 

test.pyという名前で、以下のファイルを作成します。

 

上記のファイルは以下に置きます。

/var/services/homes/{ユーザー名}/Drive/python

 

pythonフォルダはmkdirで作成しました。

何も考えずにやりましたが、vi(vim)が使えます。

 

実行します。

 

実行できました。

 

pythonのバージョン確認

 

忘れてたのでバージョンを確認してみます。

 

Linuxらしい感じで、python2が動いていたので、python3で実行し直します。

 

これも実行できました。

python2ってprint(“aaa”)って実行できましたっけ・・・?

 

venvを作成します

 

仮想環境が使えないと不便なんで使えるか確認します。

使えました。

 

当然ながら、バージョンは同じです。

 

ファイルにパスを入れてみます

 

 

実行します。

 

問題なさそうですね。

 

あとは、pipかな?

 

pipを使ってみます

 

(なんとなく)flaskをインストールします。

 

おー、できた。

 

Flaskの実行

 

とりあえずソースコードをでっち上げます。

 

実行します。

 

ブラウザでアクセスします。

 

アクセスできました。

 

DS416Playには(というか、SynologyのNASには)調べた感じブラウザは無いので(当たり前ですが)localhost:portは使え無いと思います。

また、DSM(SynologyのOS)は、アクセスするのにポート5000を使っている様なので、Flaskの標準デバッグポートとかぶっています。

ポートを変えてあげましょう。

 

これだけ動いてくれればだいたい何でもできそうですね。