2015-03-22 5 views
1

Я написал программу, она отлично работает без каких-либо ошибок, когда я запускаю ее из интерпретатора python, тогда я использовал py2exe, чтобы превратить ее в .exe, но когда я запустил ее, нт работать больше ... Я получаю эту ошибку:программа не работает после скомпилирования с py2exe

Traceback (most recent call last): 
File "pass.py", line 1, in <module> 
File "dropbox\__init__.pyc", line 3, in <module> 
File "dropbox\client.pyc", line 22, in <module> 
File "dropbox\rest.pyc", line 26, in <module> 
File "pkg_resources.pyc", line 950, in resource_filename 
File "pkg_resources.pyc", line 1638, in get_resource_filename 
NotImplementedError: resource_filename() only supported for .egg, not .zip 

я должен сделать что-то при использовании py2exe, когда я загружал модули, импортированные в программу? эти модули импортированные:

import dropbox 
import os 
import getpass 
from time import sleep 

, пожалуйста, помогите!

ответ

0

Я исправил эту проблему, используя найденное решение here

в основном вы модифицируют ~ линии 26 в rest.py найти в библиотеке Dropbox к этому:

try: 
    TRUSTED_CERT_FILE = pkg_resources.resource_filename(__name__, 'trusted-certs.crt') 
except: 
    # if current module is frozen, use library.zip path for trusted-certs.crt path 
    # trusted-certs.crt must exist in same directory as library.zip 
    if hasattr(sys,'frozen'): 
     resource_name = sys.prefix 
     resource_name.strip('/') 
     resource_name += '/trusted-certs.crt' 
     TRUSTED_CERT_FILE = resource_name 
    else: 
     raise 

, а затем поместить Доверенные сертификаты .crt также найден в библиотеке Dropbox в той же папке, что и ваш исполняемый файл

+0

Спасибо, что я сделал, чтобы решить эту проблему, я буду принимать ваш ответ в любом случае, если кому-то это понадобится, поскольку это было нелегко найти soluti на –

Смежные вопросы