Windows で cmd.exe 起動時に PATH を通す

Posted on Sun 19 January 2020 in misc • Tagged with python, windows, powershell, cmd

3月で Windows とはサヨナラするので、思い出につづっておこうと思います。

Python には、ディストリビューションが複数あります。公式の配布、 Anaconda 、 WinPython 。私が知っているだけでも、みっつあります。他は知りませんが公式の場合は、バージョンごとにインストール先のディレクトリが違います。

環境変数 PATH を設定した場合、複数ある python.exe を使い分けることができません。そこで、任意の Python に PATH を通しながら CLI を起動するショートカットを作りましょう。

ショートカットをつくる

コンテキストメニューなどでショートカットを作成します。設定するのはリンク先と作業フォルダです。

リンク先の設定 - PowerShell の場合

%windir%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -NoExit -Command …

Continue reading

来年こそは LT しようぜ!

Posted on Sat 14 December 2019 in misc • Tagged with python, jupyter, revealjs, presentation

このポストは Python駿河 勉強会 #8 〜Pythonの進化を振り返ってみよう!〜 の LT を元に作り直したものです。

「来年こそは LT しようぜ!」という題目で話をしました。良いツールを見つけたから、これから LT 頑張ろうという話です。全体的に雑な内容になっていますが、これから使おうという人の書いたものなので、その点、ご理解いただけたらと思います。

RISE - Jupyter Notebook で HTML スライドを作るツール

RISE https://rise.readthedocs.io

使い方

インストールの方法です。 RISE が Jupyter に依存しているので、 Jupyter を明示的にインストールする必要はありません。 Anaconda を使っている場合は、 conda でインストールしてください。

pip install RISE
jupyter-nbextension install rise --py …

Continue reading

Sphinx でドキュメントに README を含める

Posted on Sat 16 November 2019 in misc • Tagged with sphinx

Django でアプリケーションをつくろうと思っています。自分ひとりで開発するとは言え、ドキュメントがまったく無いのでは開発できないと思い、Sphinx でドキュメントを書き始めました。

ドキュメントは書くし、README も必要だし、同じような内容を両方に書かなければならないのか? Sphinx でドキュメントに README.rst を挿入できないか?

簡単でした。 README.rst を挿入したいところで include ディレクティブを使うだけ。

.. include:: ../../README.rst

Continue reading

Flask-Login でログイン機能を作ってみる

Posted on Mon 06 May 2019 in misc • Tagged with python, flask

Flask-Login を使ってログイン機能を作ってみました。 ログインするところだけです。ユーザー登録等は作っていません。

参考にしたページ が分かりやすかったです。 スクリプトファイルに直書きですが、ユーザーも作って認証させる処理は加えました。

#!/usr/bin/env python3
"""flask-login sampler."""

import flask
import flask_login


app = flask.Flask(__name__)
app.secret_key = b'boizagie'

login_manager = flask_login.LoginManager()
login_manager.init_app(app)


class User(flask_login.UserMixin):
    def __init__(self, user_id, username, password):
        self.user_id = user_id
        self.username = username
        self.password …

Continue reading

ブログを三ヶ月毎日更新

Posted on Sun 31 March 2019 in misc • Tagged with blog

今年の元日からブログを始めました。 そして、今日までの三ヶ月間は毎日更新してきました。内容がどうの、質がどうのなどということは問わず、とにかく毎日更新しました。振り返ってみます。

アクセス解析を見てみると、誰も見ていないようです。誰にもブログ書いてますと言っていないので当然ではあります。さりげなく URL を年賀状とか、SNS 等の自己紹介には書いているのですが、書いてますとアピールすることはしていません。これがなんだか難しい。

アクセス解析をもう少し見てみると、ほんの少し他のページに比べてアクセスがあるように見えるページがありました。「 バグレポートからはじめるコントリビュート 」です。イベントに出たときに書いたページで、このイベントのハッシュタグを付けて Twitter に流しました。SNS の力はやはり馬鹿にできないと思います。

ただ、そこからリピートのアクセスがあったようではありません。どんなに SNS からアクセスがあったとしても、ブログのコンテンツに魅力がなくては、どうにもなりません。

とにかく三ヶ月は毎日書いてきました。ここまでの反省を踏まえて、これからの方向性を決めたいと思います。


Continue reading

Set up Wifi on Alpine Linux, Raspberry Pi Zero W

Posted on Sun 31 March 2019 in misc • Tagged with alpine linux, linux, raspberry pi

この前 Raspberry Pi Zero WH に Alpine Linux をインストールしました。 つづきで、ネットワーク接続を設定します。

手持ちの Wifi ドングルを使って接続を試みましたができませんでした。どうしようか?USB LAN アダプタを買うか?と思いましたが、いつも使っているモバイルルータは USB で接続できることを思い出しました。この方法でインターネットに接続することはできました。

ここまで、 Wifi のファームウェアが入っていないから、それをインストールするために他の方法でインターネットに接続する必要がある ということだったので、どうにかインターネットに接続してきました。

次に linux-firmware-brcm をインストールします。しかしうまくできません。読み取り専用のパーティションにファームウェアのファイルをコピーしようとして失敗しています。

どうにも方法がみつかりません。お手上げです。ところが、コピー先のディレクトリを覗いてみるとファイルがあります。コピーに失敗したファイルと同名のファイルが既にあります。よーくよく考えると Alpine Linux のファームウェアにはじめから Wifi のファームウェアが入っていたのでは?

試しにもう一度 SD カードを作るところからやりなおしてみました。すると、特に …


Continue reading

2018 年度も終わり

Posted on Sat 30 March 2019 in misc • Tagged with selenium, webdriver

今日で 2018 年度も終わりです。振り返ると、この一年の主な仕事は自動テストの保守でした。いちからテストコードを書くことはありませんでしたが、Selenuim WebDriver は常に私の傍らにありました。

Selenium といえば自動テストかスクレイピングがよく見かける用途ですが、ブラウザ操作を自動化するツールなので、それほどスキルがなくても意外と便利に使えます。ログを回収するために使ったりしました。

来年度のことはまだ聞かされていませんが、これからも活用できると良いなと思います。


Continue reading

USBをMicro-Bへ変換するアダプタを買う

Posted on Thu 28 March 2019 in misc • Tagged with raspberry pi

Raspberry Pi Zero WH で Alpine Linux を使う準備をしています。 Wifi のファームウェアをダウンロードするために、Wifi ドングルを USB に挿さなくてはなりません。Wifi ドングルでつながるか心配ですが、手持ちのドングルがあるので、まずそれで試します。

その前に試しに Raspberry Pi 3 や 2 で試してみました。昨日、Zero WH 用につくった SD カードを挿して起動させてみましたが、どちらも駄目でした。シリアル通信ができないし、そもそも緑色の LED が点滅していて起動できていないようにも見えます。

結局、Zero WH に Wifi ドングルを挿さないことには始まりません。Zero WH に付いている USB Micro B コネクタに USB …


Continue reading

Set up Alpine Linux on Raspberry Pi Zero W

Posted on Thu 28 March 2019 in misc • Tagged with alpine linux, linux, raspberry pi

Raspberry Pi Zero WH に Alpine Linux をインストールしました。シリアルコンソールが使えることを確認しました。

Alpine Linux Wiki の通りに SD カードに OS のファイルを書き込みます。

その後、シリアル通信の設定をします。PC に SD カードを挿しておいて中のファイルをいじります。まず、SD カードのルートに usercfg.txt というファイルをつくって、次の一行を書きました。

enable_uart=1

config.txt ではないのか?という疑問がありましたが、 config.txt を開いてみるとすぐわかりました。 usercfg.txt をインクルードしてくれます。

[all]
include usercfg.txt

せっかくなので自分で加える設定は usercfg.txt に書きました …


Continue reading

Responder に出会う

Posted on Wed 27 March 2019 in misc • Tagged with responder, python, alpine linux, linux, raspberry pi

前に HTTP で Raspberry Pi に付けた LED を点消灯する ということをやってみました。

このときは Bottle を使ったのですが、もうちょっと実用的な印象の Flask を使ってみようかと物色していたら出会ったのが、 Responder です。

2018年リリースの新しい Web Framework みたいです。WebSocket をサポートしているのが魅力的な感じです。こいつが使えるとサーバからクライアントにデータをプッシュできます。

ところでこの Responder が Python 3.6 以降でしか使えないようなので、Raspberry Pi で使おうとすると自分で Python 3.6 をインストールしないといけません。Debian Strech のパッケージは 3.5 みたいなので。

思い切って Alpine Linux を使うという手もあります。こっちのパッケージは Python …


Continue reading