質問をすることでしか得られない、回答やアドバイスがある。

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

ただいまの
回答率

87.38%

launchctlコマンドでpythonを実行できない

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 101

score 16

前提・実現したいこと

あるpythonファイルをlaunchctlコマンドを使って30秒ごとに実行したですが、以下のエラーが出ます。

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

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pyautogui/_pyautogui_osx.py", line 5, in <module>
    import Quartz
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/Quartz/__init__.py", line 6, in <module>
    import AppKit
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/AppKit/__init__.py", line 10, in <module>
    import Foundation
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/Foundation/__init__.py", line 9, in <module>
    import CoreFoundation
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/CoreFoundation/__init__.py", line 9, in <module>
    import objc
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/objc/__init__.py", line 6, in <module>
    from . import _objc
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/objc/_objc.cpython-39-darwin.so, 0x0002): tried: '/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/objc/_objc.cpython-39-darwin.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')), '/usr/lib/_objc.cpython-39-darwin.so' (no such file)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/hogehoge/Documents/python/lesson_start.py", line 4, in <module>
    import pyautogui as pgui
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pyautogui/__init__.py", line 544, in <module>
    from . import _pyautogui_osx as platformModule
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pyautogui/_pyautogui_osx.py", line 7, in <module>
    assert False, "You must first install pyobjc-core and pyobjc: https://pyautogui.readthedocs.io/en/latest/install.html"
AssertionError: You must first install pyobjc-core and pyobjc: https://pyautogui.readthedocs.io/en/latest/install.html

該当のソースコード

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>lesson_start</string>

        <key>ProgramArguments</key>
        <array>
           <string>/usr/local/bin/python3</string>
           <string>/Users/hogehoge/Documents/python/lesson_start.py</string>
        </array>

        <key>StartInterval</key>
        <integer>30</integer>

        <key>StandardOutPath</key>
        <string>/Users/hogehoge/Documents/python/launchctl_log/lesson_start.out</string>

        <key>StandardErrorPath</key>
        <string>/Users/hogehoge/Documents/python/launchctl_log/lesson_start.err</string>
</dict>
</plist>

これはどうやって解決できるでしょうか?

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • etherbeg

    2021/11/20 17:23

    質問のタグにLinuxとありますが MacOS (OSX) の方が適当でしょう。

    launchctlを介さず、ターミナル.appで直接コマンド

    /usr/local/bin/python3 /Users/hogehoge/Documents/python/lesson_start.py

    を実行して、エラーなく実行できますか?

    キャンセル

  • Travist

    2021/11/21 03:23

    ご返信ありがとうございます。

    はい、上記コードでは正しく実行されます。

    他にどんな原因が考えられるでしょうか?

    キャンセル

  • etherbeg

    2021/11/21 10:24

    <key>ProgramArguments</key>
    <array>
    <string>/usr/local/bin/python3</string>
    <string>/Users/hogehoge/Documents/python/lesson_start.py</string>
    </array>

    の箇所を

    <key>ProgramArguments</key>
    <array>
    <string>arch</string>
    <string>-arch</string>
    <string>x86_64</string>
    <string>/usr/local/bin/python3</string>
    <string>/Users/hogehoge/Documents/python/lesson_start.py</string>
    </array>

    に変えて一度試してみてもらってもよろしいでしょうか。

    キャンセル

  • Travist

    2021/11/22 03:04 編集

    上記コードを入れて実行しましたら、今度は以下のエラーが表示されました。

    /usr/local/bin/python3: can't open file '/Users/hogehoge/Documents/python/lesson_start.py': [Errno 1] Operation not permitted

    こちらの原因をネット検索し、Macのセキュリティーとプライバシー設定からフルディスクアクセスフォルダをクリックし、itermとterminal, python3, zshにチェックをして保存しましたが同様のエラーが表示されたままです

    キャンセル

回答 1

0

解決法がわからないので閉じます

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 87.38%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る