技術

Pythonを定期実行させる

ローカル環境で実装したPythonファイルをWindowsServerで定期実行させたかったのですが、あまり情報がなかったのでメモ

バージョン
OSWindows Server 2022 Standard
Python3.12.3

ローカル環境の情報をアウトプットする

ローカル環境ではvenvを使用して開発しているのでWindowsServer用に必要なモジュール情報を書き出します
以下のコマンドをvenv環境下で実施してください

pip > requirements.txt

これでローカル環境で使用しているライブラリがWindowsServer上で一括DLできます

WindowsServerの準備

次に実際にPythonスクリプトを動かすWindowsServerの準備をします

Pythonをインストールする

今回はローカルと同じ3.12.3のバージョンをインストールします

Pythonがインストールできない場合

いざインストールをしようとしたら「このインストールはシステムポリシーで許可されていません」というエラーが発生してインストールできず調べたらレジストリをいじるというのが複数あったのですが、レジストリを変更したくなかったので以下のサイトの「カスタマイズインストール」を参考にしたらインストールできました

参考サイト
Python3.7系をwindowsにインストール #Python3 - Qiita
Python3.7系をwindowsにインストール #Python3 - Qiita

「このインストールはシステムポリシーで許可されていません」とエラーが出る対処方法以下サイトにある通り、MAX_PARHの ...

続きを読む

venv環境を構築する

Pythonがインストールできたら次にローカル環境と同じものを配置するためのvenv環境を作成します
コマンドプロンプトを起動して以下のコマンドを順次実行していきます

python -m venv <プロジェクトフォルダ名>
./<プロジェクトフォルダ名>/Scripts/activate
# requirements.txtをプロジェクトフォルダ配下に配置した状態で実施
pip install -r requirements.txt

これでローカル環境と同じライブラリ等が読み込まれました

Pythonスクリプトを呼び出すbatファイルを作成する

定期実行するためにタスクスケジューラから呼び出すbatファイルを作成します
batファイルの内容は以下です

@echo off

REM ##batファイルのパスまで移動
cd /d %~dp0

REM ##Pythonの仮想環境で実行
C:\work\<プロジェクト名>\Scripts\python.exe C:\work\<プロジェクト名>\main.py

これで仮想環境にダウンロードしたライブラリ等を使用して作成したPythonスクリプトを実行することができました

会社紹介

私が所属しているアドバンスド・ソリューション株式会社(以下、ADS)は一緒に働く仲間を募集しています

会社概要
「技術」×「知恵」=顧客課題の解決・新しい価値の創造

この方程式の実現はADSが大切にしている考えで、技術を磨き続けるgeekさと、顧客を思うloveがあってこそ実現できる世界観だと思っています
この『love & geek』の精神さえあれば、得意不得意はno problem!
技術はピカイチだけど顧客折衝はちょっと苦手。OKです。技術はまだ未熟だけど顧客と知恵を出し合って要件定義するのは大好き。OKです
凸凹な社員の集まり、色んなカラーや柄の個性が集まっているからこそ、常に新しいソリューションが生まれています

ミッション
私たちは、テクノロジーを活用し、業務や事業の生産性向上と企業進化を支援します

ホームページ
アドバンスド・ソリューション株式会社
アドバンスド・ソリューション株式会社

アドバンスド・ソリューションは主にMicrosoft製品を使用して、企業の生産性向上に取り組んでいます。要件定義から導入 ...

サイトへ移動

-技術
-