私は毎日実行するスクリプトがあり、そのスケジュールを作成したいのですが、既に次のバッチファイルを試しました。
start C:\Users\name\Miniconda3\python.exe C:\script.py
そして、いくつかの基本的なpythonコマンドをその中で実行できません。問題は、実際のスクリプトがAnacondaと共にインストールされたいくつかのライブラリを使用することです。負荷。
私はWindowsで作業していて、Anacondaを起動して毎日そこでスクリプトを自動的に実行する方法を見つけることができません。
必要なパッケージを使用してAnaconda環境を作成し、その環境からpythonを使用してスクリプトを実行することをお勧めします。Anaconda環境について読む こちら
例えば...
Cristians_envという名前の環境を作成するとします
conda create --name cristians_env
必要なパッケージをインストールします
conda install pandas
次に、バッチスクリプトからこれを実行するだけです(Anaconda 2を使用している場合)。
start C:\Users\name\Anaconda2\envs\cristians_env\bin\python C:\script.py
そして出来上がり!バッチスクリプトからanaconda環境を使用しています!
pythonを環境から直接呼び出す場合は少し注意が必要です。アクティベート関数の内部が変更されたかどうかはわからないためです。
私は私を助けるために基本的なバットスクリプトを使っています。
SET log_file=%cd%\logfile.txt
call C:\Anaconda3\Scripts\activate.bat
cd \script_directory
python script.py arg1 arg2 > %log_file%
このスクリプトは、バットが実行される場所にかかわらずログファイルを保存し、アクティブ化(この場合は標準)を通じて適切な環境を呼び出し、さらに調査するためにすべてのstdoutをログファイルに送ります。
次に、Windowsタスクスケジューラをスクリプトにポイントし、ログファイルを表示するホームディレクトリを設定します。
私は数日前に同様の問題を抱えていました。私が発見したのは、anacondaプロンプトがあなたの通常のcmdプロンプトに他ならないということです'activate.bat'スクリプトを実行した後、anaconda 'Scripts'フォルダーにあります。 pythonスクリプトをanacondaで実行するには、バッチファイルに2行を書き込むだけです(メモ帳を開いて、以下の行を書き込みます。でファイルを保存します。 bat拡張子)
次に、このバッチファイルを希望どおりに実行するようにスケジュールすると、問題なく実行されます。
解決策を見つけたので、「activate.bat」ファイルを「C:\ Users\yo\Miniconda3\Scripts」にコピーして、名前をschedule.batに変更し、ファイルの最後にスクリプト(コピーを貼り付け)を追加しました。
次に、schedule.batを毎日実行するタスクをWindowsでスケジュールできます