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:
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 :(