読者です 読者をやめる 読者になる 読者になる

みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Unity, Python, Processingなどのプログラミングや,脱獄, hackintoshなど

トップ / 記事一覧 / カテゴリ

Selenium 3 をPythonで使う

Python

最近Seleniumがversion 3になったようで,pythonのpipでインストールしてもそのまま使えなかったので,自分用にメモ.

環境

  • MacOS 10.12
  • Python 3.5.2
  • Selenium 3.0.2
  • Firefox 50.1.0

インストール

sudo pip3 install selenium

Mozillaのgeckodriverをダウンロードする.

Releases · mozilla/geckodriver · GitHub

解凍してからgeckodriverを/user/local/binにコピーする.

Pythonで以下を実行

browser = webdriver.Firefox()
browser.get('http://www.yahoo.com')

Yahooが表示されることを確認したらインストール完了.

Error

geckodriverをインストールしないと.

selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. 

と怒られる.

VMware上のWindows7で公的認証サービスとe-Taxを使う

ハードウェア

普段はMacを使っているけど,公的認証サービスとかe-Taxなんて1年に1度しか使わないのに,ドライバーやクライアントソフトをインストールするともれなくJREがついてくるので,何とかしようと思い,何とかしてみたので記事にまとめました.

公的個人認証サービス ポータルサイト

普段からJavaが動いているのは気持ち悪いので,VMware FusionにWindows7をインストールし,セキュリティソフトなどで防御を固めた上で公的認証サービスのクライアントソフトをインストールしました.

機器

みーは以下のICカードリーダーを購入しました.Amazonで2000円しました.税金を収めるために2000円払うというのは残念な話です.マイナンバーカード対応となっていたので,これにしました.

NTTコミュニケーションズ 接触型 USBタイプ ICカード リーダーライター ACR39-NTTCom

NTTコミュニケーションズ 接触型 USBタイプ ICカード リーダーライター ACR39-NTTCom

ゲストOSに接続する.

このカードリーダーは専用のドライバーが必要みたいで,下記リンクからダウンロードし,インストールします.ゲストOSにドライバーをインストールするのはもちろんですが,ホストOS (=MacOS)でも認識されないとVMwareが認識しないので,Macにもドライバーをインストールします.

利用者クライアントソフトのダウンロード : 公的個人認証サービス ポータルサイト

f:id:atsuhiro-me:20170104004637p:plain

上の画像で,Adcanced Card ACR39U ICC Readerというのがカードリーダーのことです.windowsに接続します.

使ってみた

無事に使えました.3月の確定申告に間に合ってよかった.

f:id:atsuhiro-me:20170104005024j:plain

f:id:atsuhiro-me:20170104005600p:plain

クリーンインストールしたWindows7のWindows Updateが終わらない

Windows

クリーンインストールしたWindows7では,Windows Updateが全く進まないことがよく起こります.

最初に明示的に幾つかのUpdateを適応する必要があります.

Microsoft Update Catalogにアクセスして,下記のUpdateをダウンロードしてから,インターネットと接続を切った状態で,上から順番にインストールしていきます.

  • Windows Update Diagnostic

    • 最初にこれを実行することで,Windows Updateをリセットします.
  • KB3177467

    • Windows Update Clientの最新版(2016.1.3現在)をインストールするために必要
  • KB3172605

    • Windows Update Clientの最新版(2016.1.3現在)
  • KB3125574

    • Windows Updateの累積的な修正パッケージ (476.9 MB)

最後のファイルは500 Mbytesの巨大なファイルなので,安定したネットワークに接続してからダウンロードをしてください.

これらのインストールが終了したら,再起動してからインターネットに接続し,Windows Updateを自動で実行すれば完了です.

参考

Herokuのローカル開発環境の整備

Python

VMware上のUbuntu 16.04 LSTにHerokuのローカル開発環境を作成するためのメモ.PythonのDjangoを使ったWebアプリケーションの開発を目的とした記事です.

パッケージのバージョンなどは現時点でのもので,適宜読み替えてください.

VMware FusionのゲストOSで作業をするメリット

Macに直接HerokuやPostgreSQLをインストールしてしまうと,不要なサービスが常時起動することになります.Macで映画鑑賞している間にPostgresサーバーが起動しているのは気持ちが悪いです.複数の開発環境を作成する方法としてPythonのvirtualenvなどが有名ですが,ゲストOSを複数用意するのが最も頭を使わなくて済むとみーは考えています.

Mac上に開発用のファイルを置いて,テキスト編集などはMacで行い,共有フォルダを用いてゲストOSからMac上のファイルを参照できるようにして,実行はゲストOSで行うのが簡単だと考えます.

Ubuntuの用意

Ubuntuならばapt-getで簡単にCLIからインストールができるので,ゲストOSはUbuntuを使います.

Heroku Command Line Interfaceのインストール

UbuntuでHeroku Command Line Interfaceをインストールします.

Getting Started on Heroku with Python | Heroku Dev Center

PostgreSQLのインストール,設定

DjangoでPostgreSQLを使うにはpsycopg2が必要で,postgresql-server-dev-9.5に依存しています.

sudo apt-get install postgresql postgresql-server-dev-9.5

ここではpsql 9.5.5を使用しています.

PostgreSQLをCLIで操作するのは面倒などで,pgAdmin IIIなど,GUIツールを利用するのがおすすめです.

Python3のインストール

python3をインストールし,pip3から適宜必要なモジュールをインストールします.

$ sudo apt-get install python3-pip
$ sudo pip3 install Django psycopg2

PostgreSQLの初期設定

PostgreSQLはデフォルトでpostgresという名前のユーザーが存在するので,このユーザーとしてログインします.

$ sudo -i -u postgres

PostgreSQLにアクセスするためのユーザーを作成します.-Pはパスワードを設定するオプションで,-dはデータベースの作成を許可するオプションです.

$ createuser --interactive -P -d
Enter name of role to add: xxx
Enter password for new role: 
Enter it again: 
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) y

これでxxxというユーザーが作成できました.pgAdmin IIIから,新規に作成したユーザーでアクセスします.Ubuntuではpeer authenticationという機能が存在するため,Ubuntuのユーザーとは独立したユーザー名とパスワードでログインするにはHostをlocalhostと明示する必要があります.

VMware FusionでUbuntu 16.04の共有フォルダを有効にする

OS

VMware FusionでUbuntu 16.04の共有フォルダがうまく動かなかったのですが,解決できたのでその方法をまとめておきます.

バージョン

  • VMware Fusion 8.5.3 [Download]
  • Ubuntu 16.04.1 LTS (Xenial Xerus) [Download]
  • open-vm-tools

VMwareのヘルプの方法ではうまくいかない

公式ヘルプには以下のようにすればよいと書いてありますが,うまく行きませんでした./mnt/hgfsが存在しないとエラーが出ます.

Launch VMware Fusion. *1
Power off the virtual machine.
Click Virtual Machine > Settings.
Click Sharing.
In Fusion 8.x and 7.x, select Enable Shared Folders. In Fusion 6.x, 5.x and 4.x, turn ON the Shared folders option. In Fusion 3.x, select the Share folders on your Mac option.
Click the + button.
Enter the share name, browse to the folder on the Mac that will be shared with the virtual machine and click Add.
Click Apply, then OK.
Power on the virtual machine.
Open the Terminal utility in the guest operating system.
Browse to the Host Guest File System (HGFS) folder by running this command:
cd /mnt/hgfs

解決方法

VMware FusionにUbuntuをインストールします.ゲストOSにはVMware toolsをインストールしますが,最近はopen-vm-toolsというオープンソースのものが推奨されている*2ようですので,これを使います.

$ sudo apt-get install open-vm-tools-desktop

これで以下のパッケージがインストールされます.

The following additional packages will be installed:
  dkms libdumbnet1 libgtkmm-2.4-1v5 libmspack0 open-vm-tools
  open-vm-tools-dkms zerofree
The following NEW packages will be installed:
  dkms libdumbnet1 libgtkmm-2.4-1v5 libmspack0 open-vm-tools
  open-vm-tools-desktop open-vm-tools-dkms zerofree

インストールが完了したら再起動します.VMware Fusionの設定画面から共有フォルダを有効にします.

f:id:atsuhiro-me:20161223141140p:plain

以下を実行します.

$ mkdir ~/share
$ /usr/bin/vmhgfs-fuse -o auto_unmount .host:/ ~/share

これで,ホームディレクトリのshareというフォルダーにMacのフォルダーがマウントされました.

f:id:atsuhiro-me:20161223141610p:plain

あとは/etc/rc.local に登録して起動時に自動実行するように設定すれば完了です.

シャチハタのキャップレス9 リール式を修理した

fix

仕事で使っているシャチハタのキャップレス9のリールが切れてしまったので,修理しました.

この商品はシャチハタ印鑑にリールがくっついていて,印鑑が行方不明にならないようにすることができ便利です.

f:id:atsuhiro-me:20161214003744j:plain:w360

f:id:atsuhiro-me:20161214003720j:plain:w360

印鑑部分とリール巻取り部分はこのような構造で接続されているので,時計回りに捻れば外れます.

f:id:atsuhiro-me:20161214003711j:plain:w360

リールの巻取り部分を分解しました.なお,この分解作業にはかなりの力が必要でした.リールはぜんまいじかけになっており,白色の円盤の突起部分が黒いケースの中央の溝にはまることで固定されます.

f:id:atsuhiro-me:20161214002247j:plain:w360 f:id:atsuhiro-me:20161214002303j:plain:w360

ヒモに金属の輪っかを通してから結び直し,ぜんまいの方向を逆算してヒモを巻きました.

f:id:atsuhiro-me:20161214002856j:plain:w360

リールの巻取り部分は2つの部品が糊付けされているために,一度分解すると元には戻せませんでした,仕方なくセロハンテープで補強することにしました.

f:id:atsuhiro-me:20161214003501j:plain:w360

セロハンテープはカッコ悪いですが,また1000円も払うのはもったいないので,修理して使うことにしました.