2014-12-09 4 views
1

로컬 db.sqlite3 파일에 연결하는 프로그램을 작성했으며 디버거 또는 터미널에서 명령을 실행할 때 정상적으로 작동합니다. 그러나, 나는 최근에 내가, 그것은 다음과 같은 오류 메시지가 아래에 있음을 실패 할 때 OS X의에서 발사 에이전트를 생성하는 실행 제어를 사용하여이 작업을 자동화하기 위해 노력 :SQL Alchemy 에이전트로 실행할 때 데이터베이스 파일을 열 수 없습니다.

engine = create_engine('sqlite:///db.sqlite3', connect_args={'check_same_thread':False}) 

error: 
    sqlalchemy.exc.OperationalError: (OperationalError) unable to open database file None None 

나는 이것이 어쩌면 알았는데 파일 사용 권한 때문에 모든 사람에게 '읽기/쓰기'로 변경되었지만 여전히 주사위가 없습니다. Launch Control/lauchd에서 프로그램을 호출하는 방법은 다음과 같습니다. 내가 sqlite를 사용하여 실행하고 싶은 다른 스크립트를 가지고 있기 때문에이 포인터에 대한 모든 포인터는 큰 도움이 될 것입니다. 감사!

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>Label</key> 
    <string>local.brianharnett1.infringe</string> 
    <key>ProgramArguments</key> 
    <array> 
     <string>/usr/local/bin/python3</string> 
     <string>/Users/brianharnett1/Documents/Infringer/infringe.py</string> 
    </array> 
    <key>RunAtLoad</key> 
    <true/> 
    <key>StandardErrorPath</key> 
    <string>/tmp/local.brianharnett1.infringe.err</string> 
    <key>StandardOutPath</key> 
    <string>/tmp/local.brianharnett1.infringe.out</string> 
</dict> 
</plist> 

답변

0

이 내용을 발견했습니다. Launch Control 및 Launchd에는 작업 디렉토리 인수가 있습니다. 내 파이썬 프로젝트의 디렉토리로 채우는 것이 트릭을 만들었습니다!