UWSC を Python で置換しよう（1）環境構築編

# はじめに

Windowsの自動化には、昔からUWSCという超便利なツールがあったのですが、開発者がいなくなってしまい、今後バージョンアップや、新しいOSへの対応が期待できない状態になってしまいました。そこで、今後も開発が継続されていくであろうPythonにその機能を移植していきたいと思います


<font color=red> ※構築には2時間ほどかかります
※(2019/08/21) OpenPyXL 追加 </font>

次の話はこちら
[UWSC を Python で置換しよう（2）関数置き換え](https://qiita.com/hirohiro77/items/1aaa7717a4411fbcfc7b)

# 環境構築

ここでは、UWSCに合わせて、Windowsでの実行環境を用意していこうと思います
UWSCが持っていた機能に合わせてモジュールを追加します

- OS : Windows 10 64bit
- MW : Python 3.7.4 64bit
- -- : PyAutoGUI (画像判定 / マウス・キーボード操作)
- -- : OpenCV (画像処理)
- -- : PyWin32 (Win32Api/Win32COM OLE/COMオブジェクト操作)
- -- : PyAudio (オーディオ操作)
- -- : SpeechRecognition (音声認識)
- -- : eSpeak (音声合成)
- -- : Selenium (ブラウザ操作)
- -- : BeautifulSoup (html/xmlパーサー)
- -- : xlrd , xlwt (Excel 読み書き)
- -- : OpenPyXL (Excel 読み書き)
- -- : ReportLab (PDF 読み書き)
- -- : PyInstaller (EXE 形式単一実行ファイル生成)
- -- : ConfigParser (cfg/ini 形式の読み込み)
- -- : Math (三角関数の利用[デフォルトモジュール])
- -- : Time (時間関数 時間取得/計測など[デフォルトモジュール])
- -- : Os , Sys (環境 [デフォルトモジュール])
- -- : re (正規表現 [デフォルトモジュール])


UWSCのマニュアルを読む限り追加、無料版UWSCと有償版UWSC Proが持っていた機能は網羅できるはず

まず、モジュールの中にMicrosoft Visual C++ Build Toolsが必要なものがあるのでインストールする

<font color=red> ※Visual Studio 2019のBuild Tools ではPyAudioがコンパイルできなかった </font>

```
# 以下URLよりVisual C++ Build Toolsをダウンロードしてインストール
https://go.microsoft.com/fwlink/?LinkId=691126
#(インストールが終わったら一度ここで再起動)
```

ではPythonのセットアップ開始、PowerShellを開いて実行します


```:powershell
#Windows x86-64 executable installer
Invoke-WebRequest -Uri "https://www.python.org/ftp/python/3.7.4/python-3.7.4-amd64.exe" -OutFile "python-3.7.4-amd64.exe"
python-3.7.4-amd64.exe
#インストール先は C:¥Python37 とする、インストール時にPATHを設定するにCheckを忘れない
#(インストールが終わったら一度ここで再起動)
```

再起動したら、PowerShellを開いてモジュールを追加していきます

```
cd C:¥Python37
pip install --upgrade pip --user
pip install pyautogui
pip install opencv_python
pip install pywin32
```

PyAudioはちょっと問題が多いので、以下からパッケージをダウンロードする。ここでは、Win10 64bit & Python 3.7.x 64Bitな環境なので
`PyAudio‑0.2.11‑cp37‑cp37m‑win_amd64.whl` をダウンロード

```
https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio
```

ダウンロードしたファイルをpipでインストール

```
pip install .¥PyAudio‑0.2.11‑cp37‑cp37m‑win_amd64.whl
```

さらにモジュールを追加していきます

```
pip install speechrecognition
pip install speake3
pip install selenium
pip install beautifulsoup4
pip install xlrd xlwt
pip install openpyxl
pip install reportlab
pip install pyinstaller
pip install configparser
```

導入したモジュールは以下の通りです

```
pip freeze 

altgraph==0.16.1
beautifulsoup4==4.8.0
configparser==3.8.1
et-xmlfile==1.0.1
future==0.17.1
jdcal==1.4.1
MouseInfo==0.0.4
numpy==1.17.0
opencv-python==4.1.0.25
openpyxl==2.6.3
pefile==2019.4.18
Pillow==6.1.0
PyAudio==0.2.11
PyAutoGUI==0.9.47
PyGetWindow==0.0.7
PyInstaller==3.5
PyMsgBox==1.0.7
pyperclip==1.7.0
PyRect==0.1.4
PyScreeze==0.1.22
PyTweening==1.0.3
pywin32==224
pywin32-ctypes==0.2.0
reportlab==3.5.23
selenium==3.141.0
soupsieve==1.9.3
speake3==0.3
SpeechRecognition==3.8.1
urllib3==1.25.3
xlrd==1.2.0
xlwt==1.3.0
```


あとはブラウザの制御を行うためにWeb Driverを各種導入します
導入しているブラウザのバージョンに合わせたものをダウンロードして、Pythonのインストール先に解凍(ここではC:¥Python37)

- Chrome (ChromeDriver)

```
https://chromedriver.storage.googleapis.com/index.html
```

- FireFox (Gekko Driver)

```
https://github.com/mozilla/geckodriver/releases
```

# さいごに

ここまでセットアップして、環境構築は完了です。
次回は
[UWSC を Python で置換しよう（2）関数置き換え](https://qiita.com/hirohiro77/items/1aaa7717a4411fbcfc7b)
ということで、UWSCで書いたスクリプトを構築した環境を使ってPythonスクリプトに置き換えてみる予定です。