私版 Pythonスクリプト実行環境 構築方法
0. はじめに
令和元年5月からお世話になっている、私の新しい職場は、VBAが大好きな集団だったのですが、徐々にPythonスクリプトを布教していこうと目論んでいます。
今回は、あなたのPCで、Pythonスクリプトが実行できるようにするには、何をすればいいのかを説明しようと思います。
前提条件
私のPCは、Windows 10 Pro 64ビット バージョン1809 です。Pythonスクリプトは、Mac、Linuxでも動作しますが、ここでは Windows の話に限定します。
1. Pythonのインストールに、Chocolateyを使う
Chocolateyは、Windows上のオープンソースアプリケーションを一括インストール&管理できるツールです。私流としては、Chocolatey経由でPythonをインストールします。Pythonの公式インストーラーを使えば一発で済むものを、なぜ話をややこしくするのかといえば、(1) バージョンがあがったときの更新がラクというのと、(2) 他にもインストールしてほしいアプリケーションがある、という2点の理由によります。
まずは、管理者として実行されたPowerShellを開くことから
- 画面左下のウィンドウズアイコンの右にある検索窓に powershell とタイプします
- 最も一致する検索結果に Windows PowerShell が登場しますので、右クリックします
- ショートカットメニューの中から「管理者として実行」をクリックします
- ウィンドウズが確認ダイアログを出すので「はい」と答えます
- 管理者として実行されたPowerShellが登場します
次に、Chocolateyのインストールスクリプトを実行する
- PowerShellはそのままに、ブラウザで https://chocolatey.org/ を開く
- トップメニューの Install をクリックする
- Installing Chocolatey > Install with PowerShell.exe > Now run the following command
- そこにある1行コマンドをコピーして、PowerShellに張り付けて実行する
最後に、Chocolateyがインストールされたことを確認する
- 実行したコマンドが終了したら、いったんPowerShellを閉じる
- もう一度、管理者としてとして実行されたPowerShellを開く
-
choco
とタイプして、エラーが発生しなければ、Chocolateyは無事インストールされています
Chocolateyでよく使うコマンド一覧
chocolateyを使うときは、常に「管理者として実行されたPowerShell」を使います
# パッケージをインストールする
choco install <package-name> -y
# パッケージをアンインストールする
choco uninstall <package-name> -y
# インストール済みパッケージの一覧を出す
choco list -lo
# インストール済みパッケージから更新可能なものを探す
choco outdated
# インストールしたパッケージを全てアップデートする
choco update all -y
-
-y
オプションをつけると、実行直前に出る「本当に〇〇しますか?」という質問に、「はい」と答えたことになります。質問に答える必要がなくなります -
-lo
オプションは、--local-only
オプションと同じです。これを付け忘れると、インストール可能なパッケージをすべて表示しようとするので、大変なことになります
2. Chocolateyを使って、Pythonをインストールする
いったんChocolateyが使えるようになったら、Pythonのインストールは簡単です。「管理者として実行されたPowerShell」の中で、以下の一行を実行するだけです
choco install python -y
Pythonがインストールされたことを確認する
Pythonを動かすのに「管理者として実行されたPowerShell」は必要ありません。ふつうにPowerShellを起動して、以下のコマンドを叩いてみます。バージョン番号が返ってくれば、Pythonは無事インストールされています
python --version
pip --version
3. pipについて
pipは、Pythonで使うパッケージの管理ツールです。語弊を恐れずに言い切ってしまうならば、「Python専用のChocolatey」です。pipに「管理者として実行されたPowerShell」は必要ありません。ふつうにPowerShellを起動して使います
ここまで、あなたのPCでPythonスクリプトを動かす方法を、しっかりと説明しているのは、Pythonスクリプトを使うことで、いろんなことをラクにできるようにしようと思っているからです。いろんなことをできるようにするには、いろんなパッケージの追加が欠かせません。
pipでよく使うコマンド一覧
# パッケージをインストールする
pip install <package-name>
# パッケージをアンインストールする
pip uninstall <package-name> -y
# インストール済みパッケージの一覧を出す
pip freeze
# 必要なパッケージを一括インストールする
pip install -r requirements.txt
requirements.txtについて
このファイルにパッケージ名を書いておくと、一括でインストールすることができます。Pythonスクリプトを同僚に渡すときは、スクリプトファイルに加えて、そのスクリプトが使うパッケージ名を書いたrequirements.txtもつけるべきです。これで「パッケージがない!」というエラーに対処する必要がなくなります。
蛇足:インストール済みのパッケージをまとめて削除する
いろんなPythonスクリプトを動かしはじめると、インストールするパッケージがどんどん増えていくかもしれません。そんなときは、いったん綺麗にすることが可能です。
pip freeze > temp.txt
pip uninstall -r temp.txt -y
- requirements.txtは、インストールするべきパッケージの一覧です。
- pip freezeが吐き出すリストは、インストールされているパッケージの一覧です
- pip freezeが吐き出すリストのほうが数が多くなるのは、依存関係の都合で一緒にインストールされたパッケージがあるからです
- pip freezeが吐き出すリストを使うことで、確実にすべてのパッケージがアンインストールされます
蛇足の蛇足
あなたが開発者で、開発プロジェクトごとに、インストールされているパッケージを切り分けたいときは、venv
というツールで、仮想環境を作成することになります。ここでは割愛します
4. あなたにあげる、便利なPythonスクリプトの例
このPythonスクリプトを実行すると、Chromeブラウザがヘッドレスで立ち上がって、楽天市場トップページのスクリーンショットを、同じフォルダに保存します。requirements.txtもつけてます
import datetime
import pytz
from selenium import webdriver
import time
print('作業を開始します。しばらくお待ちください')
t1 = time.time()
# 保存するファイル名を決める
now = datetime.datetime.now(pytz.timezone('Asia/Tokyo'))
path = f'{now.strftime("%Y%m%d-%H%M%S")}_rk_top_screenshot.png'
# ブラウザを設定する
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument("--hide-scrollbars")
driver = webdriver.Chrome(options=options)
# 楽天市場のトップページを開いて、スクリーンショットをファイルとして保存する
driver.get('https://www.rakuten.co.jp/')
page_width = 1280
page_height = driver.execute_script('return document.body.scrollHeight')
driver.set_window_size(page_width, page_height)
driver.save_screenshot(path)
# ブラウザを閉じる
driver.quit()
t2 = time.time()
elapsed_time = t2 - t1
print (f'作業が終わりました。{elapsed_time:0.2f}秒かかりました')
pytz
selenium
このPythonスクリプトをもらった、あなたがやるべきこと
最初の例に選んだものの、Pythonスクリプトでブラウザを動かすのは、とても高度なことなので、Chocolateyでパッケージを追加する必要があります
choco install selenium-chrome-driver -y
そのあとは、説明してきた通りです
pip install -r requirements.txt
python screenshot_rk.py
5. 最後に
VBAは、Excelがインストールされていれば実行できるのに対して、Pythonスクリプトは、これだけの準備が必要となります。ですが、できることもたくさんたくさんあるので、食わず嫌いしないでいただけたらなと思います
Author And Source
この問題について(私版 Pythonスクリプト実行環境 構築方法), 我々は、より多くの情報をここで見つけました https://qiita.com/isamusuzuki/items/f98e73cf98c36e0fedd5著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .