🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

10105閲覧

タスクスケジューラーでpyファイルが実行できない。0×2エラー

shiro-python

総合スコア2

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/01/03 15:39

タスクスケジューラーでpyファイルが実行できない。0×2エラー

jupyter labで作成した(.ipynb)ファイルを(.py)ファイルに変換し1
タスクスケジューラーを使用して定期実行
2したいと考えています。

タイムスケジューラで、基本のタスクの作成後、以下の指定をしています。
プログラム/スクリプト(P) 欄に C:\Python39\python.exe
引数の追加(A)欄に XXX.py
開始(T)欄に C:\Python39

上記内容で試しましたが、0×2エラーとなり、ファイルが探せない状態となっているようです。
XXX.pyファイルはvscode上では起動することを確認しています。

プログラミングを始めたばかりのため、乏しい理解なのですが、
タスクスケジューラーがpython.exeをきちんと探せていないことが原因と考えておりpathを通す作業*3を行っています。
システム観光変数(S)および#ユーザー#の環境変数(U)でもC:\Python39を新規で追加しています。

やっと動かせるようになったのに、この問題が解決せずにお正月が終わってしまいました。。。
詳しい方、なにとぞご指導ご鞭撻のほどお願いいたします。

*1…参考URL:https://www.youtube.com/watch?v=iTAgip9aaTY&feature=emb_logo 時間:11:15~
*2…参考URL:https://ryota-trade.com/?p=4610
*3…参考URL:https://www.youtube.com/watch?v=Cs7friXdqdM 時間:2:32~

発生している問題・エラーメッセージ

前回の実行結果 「0×2」

確認した内容

1:pythonの置き場の確認(anacondaを含め2つのverがあったため)
参考URL:https://gammasoft.jp/blog/python-install-location/
cmdでこちらのコードを入力→ py --list-paths
-3.9-64 C:\Python39\python.exe *
-3.8-64 C:\Users\User\anaconda3\python.exe
デフォルトのpythonがC:\Python39であることを確認しています。

2:pyファイルの実行確認
pyファイルはvscodeで単独で起動することを確認しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

python.exeをフルパスで指定しているので、「PATHを通す」とかは関係ないです。

エラーの原因は、C:\Python39\XXX.pyが無いことです。
XXX.pyという相対パスで無く、絶対パス(フルパス)で指定しましょう。

あるいは、「開始(T)欄」に、XXX.pyが存在するディレクトリを記入しても良いです。

今後のために、
・「PATHを通す」の意味(目的)を理解しましょう。
・「開始(T)欄」の意味を理解しましょう。

投稿2021/01/03 15:52

otn

総合スコア85893

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shiro-python

2021/01/04 02:55

ご回答いただきまして、誠にありがとうございます。 エラー原因がパイソンの起動ではないことがわかり、一歩前進しました。が解決に至っておりません。 追記:XXX.py=Line_notify.py 実行したいpyファイルはC:\Python39の直下に置いております。 絶対パスは「C:\Python39\Line_notify.py」です。 ですので、一応otn様がご指摘する内容 引数の追加(A)欄に Line_notify.py(相対パス) 開始(T)欄に C:\Python39 (Line_notify.pyが置いてあるディレクトリ)になっているような気がいたします。 フルパスでの指定…ということで以下の手順(でよい?)も試みてみましたが 引数の追加(A)欄に ‪C:\Python39\Line_notify.py(絶対パス) 開始(T)欄 空欄  で実行したところ、こちらもファイルが探せないようでした。 今後のために、とアドバイスいただいた内容で、 実行ファイルをフルパスで指定しているので、「PATH」を通す話は関係ない*4は理解しました。 T欄の意味についても、カレントフォルダを指しているという理解を致しました。*5 *4…参考URL:https://qiita.com/sta/items/63e1048025d1830d12fd *5…参考URL:https://www.atmarkit.co.jp/ait/articles/1305/31/news049.html 解決に至っておらず、どのような解決策があるか、ご指南いただけますと幸いです。
otn

2021/01/04 10:21

ご理解は合っていると思います。 > 実行したいpyファイルはC:\Python39の直下に置いております。 それは予想外でした。そこは、Pythonのインストール先なので、普通はユーザーファイルを置きません。 疑うわけでは無いですが、コマンドプロンプトで、 C:\Python39\python.exe C:\Python39\Line_notify.py と入力して、実行されますでしょうか?
shiro-python

2021/01/04 14:46

otn様、お付き合いいただいた上で、ご回答いただき誠にありがとうございます。  >疑うわけでは無いですが、コマンドプロンプトで、  >C:\Python39\python.exe C:\Python39\Line_notify.py  >と入力して、実行されますでしょうか? お恥ずかしながらズバリその通りでして、モジュールエラーが返ってきておりました。 このため、Line_notify.pyのコードをバッサリ以下の2行に書き換えました。 ■■■■■■■■■■■■■ import csv file = open('new.csv', 'w') ■■■■■■■■■■■■■ 上記コードでコマンドプロンプトでは、csvファイルが新規に生成されることを確認できましたが、 タスクスケジューラで起動を試みたところうまく実行できず以下のエラーとなりました。 ============= 前回の実行結果: ディレクトリ名が無効です。(0x8007010B) ============= このエラー名で検索したところ、タスクスケジューラを編集して再利用するのではなく、 新規作成することに*6が効果ありそうでした。 *6…参考URL:https://syszo.com/items/S8EgkSobjm そこで、タスクスケジューラで新規作成し、再度行うと結果に変化がありました。 ============= 前回の実行結果: (0x1) ============= 結果は変わったものの、今度は0x1エラーが返ってきており、解決に至っておりません。 エラーの箇所が変わってきたので、色々と自分でも試さなければいけないのですが、 お心当たりの修正がございましたら、ご指南いただけますと幸いです。
otn

2021/01/04 14:59

openでファイルを作ろうとしていますが、作れないディレクトリだとか。 フルパスで指定しましょう。
shiro-python

2021/01/04 15:58

otn様 無事にタスクスケジューラで実行を確認することが出来ました。 ご指摘いただきました通り、フルパスを指定しない状態では作成できませんでした。 コード内容を以下の通り変更いたしました。 ■■■■■■■■■■■■■ import csv file = open('C:\Users\Username\new.csv', 'w') ■■■■■■■■■■■■■ この内容で、タスクスケジューラで新規作成したところ、正常にcsvファイルが生成されました。 ※ちなみに、C:\Python39(管理者権限が必要とでる場所)を指定した場合は生成されませんでした。 真の目標とは異なる着地点ではございますが、このやりとりでタスクスケジューラにおけるpyファイル実行時のエラーについてある程度知識が深まりましたので、ベストアンサーに選ばせていただきます。 自分だけでは解決できませんでした。お付き合いいただきまして、本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問