¿Cómo empacar el paquete de Python que incluye scripts de Python y scripts de bash para OSx como pythonTool.app?


0

He creado una herramienta de Python que quiero compartir con los usuarios. Intenté Automator, y funciona, pero en eso utilicé Aplicación> Ejecutar script de Shell en el que codifiqué la ruta de mi script de Python, pero como quiero que cualquier usuario pueda usarlo desde cualquier ubicación, no creo Me parece una posible solución. En segundo lugar, mi script de Python también toma la carpeta actual como argumento. Consulte a continuación:

utilizando Automator

En la imagen de arriba, la ruta a la aplicación es donde estoy desarrollando, lo cual es incorrecto, de hecho, supongo que debería generarse dinámicamente y también debería pasarse la ruta de la carpeta actual del segundo argumento.

También probé con ornitorrinco , que copia el contenido a la carpeta Aplicación y todos los archivos necesarios empaquetados dentro de Gallery.app (ver más abajo)

 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

pero como mi herramienta requiere PyQt4, también incluí los archivos requeridos, pero de nuevo eso da el siguiente error:

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

Anteriormente recibía un módulo exifread no encontrado, así que lo copié también y me deshice del error, pero hacer lo mismo para PyQt4 no funcionó :(


¿Qué sucede si copia los directorios y las secuencias de comandos manualmente? También tenga en cuenta mi nota en mi respuesta en su última publicación sobre hacer algo similar para mi acción
markhunte

La herramienta normal para hacer esto es Py2App para la cual el código incluye un ejemplo de PyQt
Mark

@ Mark: esto sería todo, lo intentaré ...
Ciasto piekarz
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.