2015-10-23 39 views
6

Testuję aplikację, którą wykonałem, która między innymi ładuje kilka obrazów .png po otwarciu. Obrazy są wyświetlane poprawnie na moim Macu (10.7.5) i mojej matce (10.8.5); gdy jednak moja siostra otworzy ją na swoim (10.9.5), obrazy się nie wczytują. Wszystkie inne funkcje są nienaruszone. Powinienem zauważyć, że na moim Macu i mojej matce zainstalowałem Python 3.4 i wiele pakietów, z których korzysta aplikacja, w tym pakiet PIL, podczas gdy moja siostra nie ma żadnej z nich. Aplikacja została zbudowana przy użyciu komendy:PIL ImageTK nie ładuje obrazu w pakiecie aplikacji py2app

python3.4 setup.py py2app 

obrazy są importowane w kodzie z:

image = ImageTk.PhotoImage(file = "images/pic.png") 

pliku instalacyjnego dla py2app jest następująca:

from setuptools import setup 

APP = ['myapp.py'] 
DATA_FILES = [('', ['images'])] 

OPTIONS = {'iconfile': 'myapp.icns', 'packages': ['PIL']} 

setup(
    app=APP, 
    data_files=DATA_FILES, 
    options={'py2app': OPTIONS}, 
    setup_requires=['py2app'], 
) 

Domyślam się, że jest to problem z PIL, po prostu wydaje się, że nie chce grać ładnie z py2app. Powodem, dla którego uważam, że jest to PIL, jest to, że po uruchomieniu polecenia do zbudowania mojej aplikacji pojawia się następujący komunikat o błędzie w Terminalu.

Modules not found (conditional imports): 
* Image (/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/py2app/recipes/PIL/prescript.py) 

Byłbym bardzo wdzięczny za wszelkie sugestie lub wskazówki.

+0

Otrzymuję ten sam błąd i opublikuję tutaj, jeśli znajdę cokolwiek –

Odpowiedz

0

Jeśli budujesz pakiet python, który wymaga zainstalowania innych pakietów, możesz użyć słowa kluczowego install_requires w konfiguracji see docs. Ma to dodatkową zaletę polegającą na instalowaniu pakietu (ów), gdy użytkownik uruchamia instalację pip2app. W twoim przypadku użyłbym install_requires = ['pillow'], a pip automatycznie pobierze poduszkę podczas procesu instalacji.