Die Bündelung von Daten-Dateien mit PyInstaller 2.1 und MEIPASS Fehler --onefile

Diese Frage wurde vorher gefragt und ich kann nicht scheinen, um meine PyInstaller um korrekt zu arbeiten. Ich habe aufgerufen, den folgenden code in meine mainscript.py Datei:

def resource_path(relative_path):
    """ Get absolute path to resource, works for dev and for PyInstaller """
    try:
        # PyInstaller creates a temp folder and stores path in _MEIPASS
        base_path = sys._MEIPASS
    except Exception:
        base_path = os.path.abspath(".")

    return os.path.join(base_path, relative_path)

Wenn ich die py-Datei (in LEERLAUF), meine app läuft perfekt und lädt alle Daten-Dateien. Allerdings, wenn ich es mit Bündel PyInstaller 2.1 (eine Datei-Methode) bekomme ich die folgende Fehlermeldung nach der exe-builds:

Traceback (most recent call last):
File "<string>", line 37, in <module>
WindowsError: [Error 3] The system cannot find the path   
specified: 'C:\\Users\\Me\\AppData\\Local\\Temp\\_MEI188722\\eggs/*.*'

Hat jemand eine Idee, wo ich schief gelaufen? Danke!

** EDIT **

Hier ist genau, was ich tun will.

Mein script hat ein setup (Importe), die wie folgt Aussehen. Im wesentlichen möchte ich in der Lage sein, Matplotlib, Grundkarte und Ressourcen-Pfad:

import os,sys
import matplotlib
matplotlib.use('WX')
import wx
from matplotlib.backends.backend_wx import FigureCanvasWx as FigureCanvas
from matplotlib.backends.backend_wx import NavigationToolbar2Wx
from mpl_toolkits.basemap import Basemap
from matplotlib.figure import Figure
import matplotlib.pyplot as plt
import Calculate_Distance # A personal py file of mine

def resource_path(relative_path):
    """ Get absolute path to resource, works for dev and for PyInstaller """
    try:
        # PyInstaller creates a temp folder and stores path in _MEIPASS
        base_path = sys._MEIPASS
    except Exception:
        base_path = os.path.abspath(".")

    return os.path.join(base_path, relative_path)

bmap=wx.Bitmap(resource_path('test_image.png'))

print 'hello'

Ich bin mit PyInstaller 2.1. Ich bin auch mit Python 2.7.5 (32 bit). Mein OS ist Windows 8 (64bit). Meine Matplotlib 1.3.0 und Grundkarte ist 1.0.6. Wxpython ist 2.8.12.1 (Unicode).

Gehe ich zu Befehlen und zu tun: > pyinstaller myscript.py. Dies erzeugt mein .spec-Datei, die ich leicht Bearbeiten. Unten ist mein bearbeitet spec-Datei:

data_files = [('Calculate_Distance.py', 'C:\\Users\\Me\\Documents\\MyFolder\\Calculate_Distance.py',
              'DATA'), ('test_image.png', 'C:\\Users\\Me\\Documents\\MyFolder\\test_image.png',
              'DATA')]

includes = []
excludes = ['_gtkagg', '_tkagg', 'bsddb', 'curses', 'email', 'pywin.debugger',
            'pywin.debugger.dbgcon', 'pywin.dialogs', 'tcl',
            'Tkconstants', 'Tkinter']
packages = []
dll_excludes = []
dll_includes = []

a = Analysis(['myscript.py'],
             pathex=['C:\\Users\\Me\\Documents\\MyFolder','C:\\Python27\\Lib\\site-packages\\mpl_toolkits\\basemap\\*'],
             hiddenimports=[],
             hookspath=None,
             runtime_hooks=None)

pyz = PYZ(a.pure)
exe = EXE(pyz,
          a.scripts,
          a.binaries - dll_excludes + dll_includes + data_files,          
          name='MyApplication.exe',
          debug=False,
          strip=None,
          upx=True,
          console=True )
coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               strip=None,
               upx=True,
               name='MyApplication')  

Möchte ich, dass dies eine ausführbare Datei, damit die Dateien gepackt werden soll, in der ausführbaren Datei. Auf der anderen pyinstallers ich in der Regel noch nicht hatte Probleme mit der MEIPASS. Allerdings muss ich verwenden, 2.1, weil der Matplotlib und Grundkarte. Wenn jemand bauen kann, diese exe-perfekt-können Sie mir bitte sagen, was ich einstellen muss? Danke!

****** EDIT**

Wenn jemand herausfinden kann, wie dies mit py2exe -- das wäre großartig. Jede Möglichkeit, ich kann diese in einer einzigen ausführbaren Datei wäre es Wert!

Ich bin mir nicht sicher, dass dies hier das problem, sondern die pypi-version von Pyinstaller 2.1 zu haben scheint eine ganze Reihe von Fehlern, versuchen Sie es mit der git-version unter github.com/pyinstaller.
Ich habe die eine gerade, die von pyinstaller.org -- ist das die gleiche wie immer aus pypi?
Ich würde erwarten, dass so. Sie sind sowohl für die 2.1 version.
github-version nicht helfen

InformationsquelleAutor mcfly | 2013-10-29

Schreibe einen Kommentar