動作環境
macOS 10.13(High Sierra)
python3.6.3
pythonのプログラムをlaunchdに登録して動かすと、簡単なコードは動作するのですが、自作モジュールを読み込もうとするとパスが見つからないとエラーが出力されます。
相対パスで読み込むのだダメかと思い、絶対パスで読み込むように変えてみても、うまくいきません。
以下のようなコードをターミナル上で動かすとパスは見つかりますが、
launchdからだとダメで"not exist"が表示されてしまいます。
解決策を教えていただけると助かります。
python
1import sys 2import os 3# 通常はこれで読み込めていた 4# import libs.subprocess.command as cmd 5 6import imp 7path = os.getcwd() + "/libs/subprocess/command.py" 8if os.path.exists(path): 9 print("exist") 10else: 11 print("not exist") 12 13cmd = imp.load_source("command", path)
~/Library/LaunchAgentsにおいたplistファイル
xml
1<plist> 2 <dict> 3 <key>Label</key> 4 <string>test</string> 5 <key>ProgramArguments</key> 6 <array> 7 <string>/usr/bin/python</string> 8 <string>/Users/.../main.py</string> 9 </array> 10 <key>RunAtLoad</key> 11 <true/> 12 <key>StandardOutPath</key> 13 <string>/Users/.../output.log</string> 14 <key>StandardErrorPath</key> 15 <string>/Users/.../error.log</string> 16 </dict> 17</plist> 18
エラーログ
Traceback (most recent call last): File "/Users/.../main.py", line 23, in <module> cmd = imp.load_source("command", pat) IOError: [Errno 2] No such file or directory
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/11 13:52