我正在使用py2app捆綁一個python腳本,它使用anaconda python分發。py2app中的popen權限問題
由於py2app不能很好地與需要用戶輸入的終端腳本配合使用,我有一個Tkinter文件,py2app的setup.py啓動,然後使用popen進一步啓動我的.py腳本。
本地,這工作得很好:
import subprocess as sub
command = "~/anaconda/bin/python -u myscript.py " + str(groups_count)
process = sub.Popen(command, shell=True, stdout=sub.PIPE, stderr=sub.PIPE, bufsize=1, universal_newlines=True)
但是,當我要分發此,我需要更換硬編碼路徑和本使用包含分佈中
import subprocess as sub
command = sys.executable + " -u myscript.py " + str(groups_count)
process = sub.Popen(command, shell=True, stdout=sub.PIPE, stderr=sub.PIPE, bufsize=1, universal_newlines=True)
這導致運行錯誤:
/bin/sh: /Users/username/projectname/appname/dist/MyOSXapp.app/Contents/MacOS/python: Permission denied
如果我看看/MyOSXapp.app/Contents中的libpython2.7.dylib /框架它似乎不可執行,但是每個人都可以閱讀。這一切都是由py2app組裝的。
我需要運行popen
我的anaconda python分佈在pyapp內。我該怎麼做呢?