2014-10-19 3 views
2

У меня есть сценарий python, который я бы хотел заморозить. Я сделал сценарий cx_freeze и запустил его. .exe работает хорошо, но в замороженном скрипте я открываю файл .html. Когда файл открывается, webbrowser дает мне ошибку «File not found: Firefox cannot find the file at /c:/blah/blah/blah/somefile.html»Python cx_freeze сценарий установки не работает

Как я понимаю, это потому, что cx_freeze путает мою ОС между Linux и Windows. Тем не менее, я не уверен, что это потому, что у меня есть код

if sys.platform == "win32": 
    base = "Win32GUI" 

В моем файле настроек. Кто-нибудь знает, что происходит?

Весь мой файл установки является

import sys 
from cx_Freeze import setup, Executable 

# Dependencies are automatically detected, but it might need fine tuning. 
build_exe_options = {"packages": ["os"], "excludes": ["tkinter"]} 

# GUI applications require a different base on Windows (the default is for a 
# console application). 
base = None 
if sys.platform == "win32": 
    base = "Win32GUI" 

setup( name = "someexe", 
    version = "0.1", 
    description = "someexe description", 
    options = {"build_exe": build_exe_options}, 
    executables = [Executable("someexe.py", base=base)]) 

скопирована из the cx_freeze distutils page и отредактирован, чтобы соответствовать моим потребностям.

+0

Я хочу спросить вас о вашем предыдущем вопросе, правильно ли работает сценарий, прежде чем замораживаться, хотя я полагаю, что это так. –

+0

Похоже, проблема в самом скрипте, а не в файле настроек. Кроме того, какова фактическая ошибка, которая может помочь./Blah/blah/blah может намекнуть на то, что происходит – Parker

+0

@TerryJanReedy Все отлично работало, прежде чем замораживаться, да. – CollegeGamer

ответ

0

Вместо использования os.chdir('C:/path/to/dir') вы должны использовать os.chdir('C:\path\to\dir'). Это ошибка в вашем скрипте, а не в установочном файле cx_freeze.

+0

'os.chdir' вызывает' SetCurrentDirectoryW', который преобразует слэши в обратную косую черту. – eryksun

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