2017-10-23 3 views
0

내 python 응용 프로그램 (.app)을 실행할 때 발생하는 매우 실망스러운 오류가 발생합니다. 내 10.12.6 OS에서 발생합니다. X 노트북. PyQt5는 pip3을 사용하여 설치되었으며 문제가 발생하여 다시 설치되었습니다. 다음은 전체 오류 코드입니다.py2app 생성 오류 .app, QtWidgets.so "이유 이미지를 찾을 수 없음"

Last login: Mon Oct 23 00:14:00 on ttys001 
/Users/development/Desktop/python_workspace/BasicEmail/dist/main.app/Contents/MacOS/main ; exit; 
Zacharys-MacBook-Pro:~ development$/Users/development/Desktop/python_workspace/BasicEmail/dist/main.app/Contents/MacOS/main ; exit; 

Traceback (most recent call last): 

File "/Users/development/Desktop/python_workspace/BasicEmail/dist/main.app/Contents/Resources/__boot__.py", line 386, in <module> 
_run() 
File "/Users/development/Desktop/python_workspace/BasicEmail/dist/main.app/Contents/Resources/__boot__.py", line 370, in _run 
exec(compile(source, path, 'exec'), globals(), globals()) 
File "/Users/development/Desktop/python_workspace/BasicEmail/dist/main.app/Contents/Resources/main.py", line 4, in <module> 
from sheet import Sheet 

File "sheet.pyc", line 8, in <module> 
File "PyQt5/QtWidgets.pyc", line 14, in <module> 
File "PyQt5/QtWidgets.pyc", line 10, in __load 
File "imp.pyc", line 342, in load_dynamic 
ImportError:  dlopen(/Users/development/Desktop/python_workspace/BasicEmail/dist/main.app/Contents/Resources/lib/python3.6/lib-dynload/PyQt5/QtWidgets.so, 2):  

Library not loaded: @rpath/QtWidgets.framework/Versions/5/QtWidgets 
Referenced from: /Users/development/Desktop/python_workspace/BasicEmail/dist/main.app/Contents/Resources/lib/python3.6/lib-dynload/PyQt5/QtWidgets.so 
Reason: image not found 
2017-10-23 00:19:19.853 main[31651:3648399] main Error` 

sheet.py에 대한 내 코드. 내 응용 프로그램의 첫 번째보기 :

import sys 
import os 
import re 
import io 
import csv 
#from PyQt5 import QtWidgets, QtCore, QtGui 
import PyQt5 
from PyQt5.QtWidgets import * 
from PyQt5.QtCore import * 
from PyQt5.QtGui import * 

class Sheet(QWidget): 

buttonClicked = pyqtSignal() 
email_list = [] 
#company_list = [] 

def __init__(self,r,c): 
    super().__init__() 
    self.init_ui(r,c) 

def init_ui(self,r,c): 
    self.v_layout = QVBoxLayout() 
    self.h_layout = QHBoxLayout() 

    self.sheet = QTableWidget() 
    self.sheet.setRowCount(r) 
    self.sheet.setColumnCount(c) 
    item = QTableWidgetItem('Upload a CSV file with emails.') 
    self.sheet.setItem(0, 0, item) 

    self.sheet.resizeRowsToContents() 
    self.sheet.verticalHeader().setDefaultSectionSize(50) 

    width = 200   
    self.open_button = TemplateButton(QPixmap('res/open-folder.png')) 
    self.open_button.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) 
    self.continue_button = TemplateButton(QPixmap('res/forward-arrow.png')) 
    self.continue_button.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)   

    self.file_path = None 

    self.open_button.clicked.connect(lambda:  self.open_click(self.open_button,"Open",self.sheet))  
    self.continue_button.clicked.connect(lambda: self.continue_click(self.continue_button,"Continue"))  

    self.v_layout.addWidget(self.sheet)    
    self.h_layout.addWidget(self.open_button) 
    self.h_layout.addWidget(self.continue_button) 

    self.v_layout.addLayout(self.h_layout) 

    self.setLayout(self.v_layout) 
    self.setWindowTitle("EMAIL")   

    self.show() 

주요 저도 같은 다른 나의 다른 사람에 호출 할 생각 :

import sys 
import os 
import io 
from sheet import Sheet 
from email_list import EmailList 
from construct import ConstructEmail 
from construct import NewTemplateDialog, ConfirmDialog 
from template_list import TemplateList, TemplateEdit 
from settings import Settings 
from PyQt5.QtWidgets import * 
from PyQt5.QtCore import * 

답변

0

나는이 문제에 대한 답을 발견했다. 응용 프로그램을 번들로 묶을 때 --packages = PyQt5

플래그를 포함시켜야합니다.
관련 문제