come impacchettare il pacchetto python che include script python e script bash per OSx come pythonTool.app?


0

Ho creato uno strumento Python che voglio condividere con gli utenti. Ho provato Automator, e funziona ma in quello ho usato Applicazione> Esegui script shell in cui ho programmato il percorso del mio script Python, ma poiché voglio che qualsiasi utente sia in grado di usarlo da qualsiasi posizione, non credo Questa sembra una soluzione possibile. In secondo luogo il mio script python prende anche la cartella corrente come argomento, vedi sotto:

utilizzando Automator

Nell'immagine sopra il percorso verso l'applicazione è dove sto sviluppando, il che è sbagliato, infatti quel percorso dovrei supporre che sia generato dinamicamente e che dovrebbe essere passato anche il secondo argomento del percorso attuale della cartella.

Ho anche provato con platypus , che copia il contenuto nella cartella dell'applicazione e tutti i file richiesti impacchettati all'interno di Gallery.app (vedi sotto)

 Contents 
      \_ Info.plist
      \_ MacOS
        \_ Gallery # i ran this guess clicking on Gallery.app executes this binary
      \_ Resources
                \_ AppSettings.plist
                \_ MainMenu.nib
                \_ README.md
                \_ __init__.py
                \_ appIcon.icns
                \_ controlBar.py
                \_ exifread
                \_ gallery.py
                \_ icons.py
                \_ script
                \_ scripts
                \_ slideShow.py
                \_ slideShowBase.py
                \_ utils.py       
                \_ PyQt4
                      \_ Qt.so
                      \_ QtCore.so
                      \_ QtGui.so
                      \_ __init__.py
                      \_ _qt.so
                      \_ libQt.a
                      \_ libQtCore.a
                      \_ libQtGui.a

ma dal momento che il mio strumento richiede PyQt4, ho incluso anche i file richiesti, ma di nuovo ciò dà l'errore di seguito:

Traceback (most recent call last):
  File "/Applications/Gallery.app/Contents/Resources/script", line 12, in <module>
    import utils
  File "/Applications/Gallery.app/Contents/Resources/utils.py", line 4, in <module>
    from PyQt4 import QtGui, QtCore
ImportError: dlopen(/Applications/Gallery.app/Contents/Resources/PyQt4/_qt.so, 2): Symbol not found: _PyCapsule_Type
  Referenced from: /Applications/Gallery.app/Contents/Resources/PyQt4/_qt.so
  Expected in: flat namespace
 in /Applications/Gallery.app/Contents/Resources/PyQt4/_qt.so

Prima avevo trovato il modulo exifread non trovato, quindi l'ho copiato anch'io e mi sono sbarazzato dell'errore, ma fare lo stesso per PyQt4 non ha funzionato :(


Cosa succede se si copiano manualmente le directory e gli script. Nota anche la mia nota nella mia risposta sul tuo ultimo post su come fare una cosa simile per la mia azione
markhunte

Lo strumento normale per farlo è Py2App per il quale il codice include un esempio PyQt
Mark

@Mark: questo sarebbe, lo proverò ...
Ciasto piekarz
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.