タグ: python

  • JAC vol.1 & NVDAワールド 2017 & NVDA開発者会

    もんどさんのブログを読んで、私も書くことにしました。

    Japan Accessibility Conference

    Japan Accessibility Conference vol.1
    2017年11月11日(土曜)
    会場:ヤフー株式会社 紀尾井タワー セミナールーム
    にて「アクセシビリティ検証ツールとしてのNVDA入門」という講演をします。
    2015年に「Web製作者のためのNVDA入門」というイベントの講師をしたのですが、今回はハンズオンでもなく、時間も限られているので、いちおう下記のような予定です。

    視覚に障害があるユーザーがPCを使う上で不可欠なものがスクリーンリーダーです。
    無料で利用できる Windows 用スクリーンリーダー NVDA をご紹介します。

    • スクリーンリーダーとはどのようなものなのか、
    • スクリーンリーダーで Web ブラウザをどう操作するのか、
    • アクセシビリティ検証ツールとして NVDA をどう使えばよいか

    をご説明します。

    この講演は5月ごろから打診をいただいていたので、このイベントにあわせて NVDA 2017.3jp に導入した新機能もありますし、お馴染みの FocusHighlight アドオンも(RubyKaigi 2017で実演に使いましたが)新しいバージョンをリリースしたいと思っています。
    なので、11月11日に話を聞いてくださった人には、これまでよりもスムーズに「アクセシビリティ検証ツールとしてのNVDA」をお試しいただけると思います。
    (おわかりのとおり WordPress を使っているので、私のセッションの裏番組も気になります。。)

    NVDAワールド2017

    一方で、前述のイベントがこの日程になることがわかっていたため、11月1日から3日まで開催されるサイトワールドの翌日ではなく前日に開催することにした
    NVDAワールド2017
    2017年10月31日(火曜)
    会場:日本マイクロソフト
    (東京都港区港南2-16-3 品川グランドセントラルタワー)
    は参加申し込みの締め切り(10月23日)まであと2週間になりました。
    こちらの私のセッションは「ビジネスツールとしてのNVDA」というテーマにしました。
    前述のカンファレンスの発表と内容が重複しない、はずです。。

    概要:2013年に NV Access が視覚障害者コミュニティの支援で PowerPoint 対応を実現して以来、NVDA は視覚に障害がある人の就労手段としてグローバルに支持されています。
    本セッションではビジネスツールとしての NVDA の機能を紹介しつつ、最近の NV Access や開発コミュニティ、 NVDA 日本語チームの活動を報告します。

    NVDA の Microsoft Office 対応や Windows 10 対応の最新情報を、この機会にまとめてお伝えしたいと思います。

    NVDA開発者会

    最後に、NVDAワールド2017開催日の午前に行う予定の「NVDA 開発者会」について補足します。
    いま NVDA 本家の開発コミュニティではいろいろな新しい動きがあって、NVDA の開発に興味がある人に伝えるべきことはとても増えています。
    2017.4 で Windows XP/Vista 対応を打ち切ることが決まり、新しい動きは本格化しました。
    開発に使われている Visual Studio のバージョンを 2015 から 2017 に上げること、各種の依存パッケージを更新すること、そして NVDA を Python 2.7 から Python 3 に移行させる作業が、これから2019年ごろまでに行われます。
    今回の開発者会では、まず Windows 環境で Python 2.7 と Python 3.6 を共存させる方法をご紹介します。
    これから1年か2年くらいの間 NVDA に関わるために必要な知識だと思うからです。
    それから、おそらく当日までに本家の移行が完了しているはずなので、Visual Studio 2017 Community を使う前提で NVDA (本家版および日本語版)のソースコードからの実行方法やビルド方法を紹介する予定です。
    日本語に対応していないことが課題になっている eSpeak や libLouis など音声合成エンジンや点訳エンジンなどの現状、ソースコードからの実行やテストの方法、開発コミュニティの動向などの情報も、時間の制約はありますがお伝えしたいと思います。
    点字ディスプレイなどふだん私が検証できない機材は、その場に持参いただければ、不具合の調査などができると思います。
    開発者会には NVDAワールド 2017 の connpass 申し込みで「開発者枠」でお申し込みください。

  • Windows + Python + Conda

    昨日は第4回の「すごい広島 with Python」でした。
    前回の報告:

    Interface as Mimesis


    このときに py.exe による Windows 環境での Python の切り替えについて詳しく書かなかったので、このブログでその続きを書きます。
    昨日は「もくもく会」だったので、ディープラーニングの環境構築にとりかかりました。行ってみると「話したいので聞いてほしい」という参加者が多数いらっしゃって、楽しかったのですが、私の作業はあまり進まなかったです。。
    やってみたこと:Windows に Theano を(GPU対応なしで)インストールした。
    環境:Windows 10 Home (64bit)
    もともと入っている Python:Python 2.7 (32bit) と Python 3.6 (32bit)
    もともとできていたこと:
    Python 3.6 を入れるとついてくる py.exe を使って py -2 または py -3 で両者を切り替えることができた。
    今回 theano をインストールした手順:

    1. Miniconda Windows 64bit installer をデフォルトのオプションでインストール
    2. コマンドプロンプトで
      > conda install numpy scipy mkl
    3. つづいてコマンドプロンプトで
      > conda install theano

    theano の動作確認:

    C:\work>python
     Python 3.6.1 |Continuum Analytics, Inc.| (default, May 11 2017, 13:25:24) [MSC v.1900 64 bit (AMD64)] on win32
     Type "help", "copyright", "credits" or "license" for more information.
     >>> import theano
     >>> from theano import tensor as T
     >>> x1 = T.scalar()
     >>> w1 = T.scalar()
     >>> w0 = T.scalar()
     >>> z1 = w1 * x1 + w0
     >>> net_input = theano.function(inputs=[w1, x1, w0], outputs=z1)
     >>> print('Net input: %.2f' % net_input(2.0, 1.0, 0.5))
     Net input: 2.50
     >>> import numpy as np
     >>> x = T.fmatrix(name='x')
     >>> x_sum = T.sum(x, axis=0)
     >>> calc_sum = theano.function(inputs=[x], outputs=x_sum)
     >>> ary = [[1, 2, 3], [1, 2, 3]]
     >>> print('Column sum:', calc_sum(ary))
     Column sum: [ 2. 4. 6.]
     >>> theano.config.floatX = 'float32'
     >>> ary = np.array([[1, 2, 3], [1, 2, 3]], dtype=theano.config.floatX)
     >>> print('Column sum:', calc_sum(ary))
     Column sum: [ 2. 4. 6.]

    この状態で python コマンドは今回インストールした Miniconda の Python になっています。
    この状態での Python 処理系の切り替えの確認:

    C:\work>py -3.6
    Python 3.6.1 |Continuum Analytics, Inc.| (default, May 11 2017, 13:25:24) [MSC v.1900 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    C:\work>py -3.6-32
    Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 17:54:52) [MSC v.1900 32 bit (Intel)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    C:\work>py -2
    Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:42:59) [MSC v.1500 32 bit (Intel)] on win32
    Type "help", "copyright", "credits" or "license" for more information.

    公式 Python は 32bit 版を入れて Anaconda 系 Python は 64bit 版を入れる、という使い分けが必要にはなりますが py.exe ですべての環境を切り替えられることを確認しました。
    なお Theano の動作確認は Python 機械学習プログラミング 達人データサイエンティストによる理論と実践 第13章を引用しました。
     

  • すごい広島 with Python &環境構築

    PyCon mini Hiroshima と Python Boot Camp in 広島 のフォローアップ活動として、毎月最後の水曜日の夜に「すごい広島 with Python」を開催しています。
    4月からはじめて3ヶ月やってみて、定着してきたので、やっと自信をもって報告してみることにしました。
    毎週水曜日の定例の「すごい広島」は「もくもく会」なのですが、「with Python」は、なにかやってみて知見を共有する、というところに力を入れていて、いまのところライトニングトーク形式での開催が続いています。
    私の提供した話題は5月は Django の環境構築、今月は某プログラミングコンテストの例題 with Python でした。
    先月も今月も「Linux で Python の作業環境の構築ではまった」という話を聞いたので、情報共有サイトで言い尽くされているのに、と思いながら、繰り返し喋ったことをもう一度ここで書いておきます。
    Linux のディストリビューションはたいてい Python 処理系に深く依存しています。なので、/usr/bin/python をアプリ開発に使ったり、逆に上書きしてしまうことは賢明ではありません。
    パッケージで Python を入れたいという気持ちは十分に理解できますが、私は Python Boot Camp テキスト をいちど読んで、その方法を理解することをお勧めします。
    このテキストでは Linux 向けの環境構築は「ソースからインストールしなさい」になっていて、不親切に見えるかも知れないのですが、実はデプロイ環境を作る手順として一番つぶしがきくというのが私の実感です。
    つまり、ソースから素直にコンパイル・インストールして、例えば /usr/local/bin/python3 が存在する状態を作り、その python3 に紐付いた環境で作業をするということです。
    丁寧にやるなら

    /usr/local/bin/python3 -m venv env

    で環境を作れば、ちゃんとその venv 環境では、自分がインストールした実行ファイルがパス指定なしに python や pip になってくれます。
    (コマンド名が python3 か python かも気にしなくていい)
    自分は /usr/local/bin しか使わないことにすれば、OS 環境への影響を心配する必要がありません。
    デプロイ環境でも、面倒がらずに最初に env/bin/activate するのが安全と思います。
    応用として、この手順は 2.7 系と 3 系を安全に切り替えたりするときにも有効です(詳細は省略)。
    Windows では複数のバージョンの Python を使い分けるときに、まず最新の Python 3 系をインストールして、ランチャー(py.exe)と venv (virtualenv) を使えば、どの処理系にも事前に PATH を通す必要がない(はず)です。
    上述した私の Django セットアップは「Boot Camp 方式」で仮想マシンの環境構築をしていますし、例題 with Python でも py.exe をちょこっと紹介しています。
    ふだんは私は個人的な技術メモは別のサイトにこっそり書いていますが、この件は、きっと同じようなことをいろんな人がしつこく書かないといけないのだろうと思って、めずらしくブログに技術ネタを書きました。