хорошо, я сделаю это, спасибо

ел бы создать исполняемый файл для скрипта Python 3, который:

импортирует pyqtgraph (с pyqt5)импортирует theano и pymc3также импортирует numpy, scipy, sys, osоткрывает простой графический интерфейс, созданный с помощью qt designer и сохраненный в файле ui .ui 'будет распространяться на компьютерах с Windows 7+

Я пробовал несколько инструментов (py2exe, pyinstaller, pynsist, cx_Freeze) в течение нескольких часов, но каждый раз терпел неудачу. мой «менее худший» результат был с pyinstaller (см. ниже) без theano части (и так без части сценария). Может кто-нибудь помочь мне ?

У меня есть 3 файла: 2 файла «.py» (1 с основным и другой с кучей определений) и «.ui», описывающий GUI. Скрипт выполняет некоторые статистические анализы, затем строит некоторые кривые.

Вот пример моего сбоя с python 3.5 и cx_Freeze (который, я думаю, является самой продвинутой из моих попыток, но я не ограничен этими инструментами в частности): я поместил свои 3 файла в каталог на машине с Windows, где все было мучительно установлено (с анакондой). Я добавляю файл «setup.py», который для cx_Freeze:

from cx_Freeze import setup, Executable
import os

os.environ['TCL_LIBRARY'] = r'C:\Program Files\Python 3.5\tcl\tcl8.6'
os.environ['TK_LIBRARY'] = r'C:\Program Files\Python 3.5\tcl\tk8.6'
os.environ['PYQTGRAPH_QT_LIB'] = 'PyQt5'

setup(
    name = ‘concentrationprofiles',
    version = '0.1',
    description = 'simple tool to simulate concentration profiles. preliminary',
    author = 'SPH',
    options = dict(
        build_exe = dict(
            packages = ['os','sys','numpy','theano','pymc3','pyqtgraph'],#omitting ‘scipy’ ! for some reason when I put ’scipy’ in this list the building fails, but it works without… probably the ‘import scipy’ inside the code is properly interpreted
            includes = ['numpy.core._methods','numpy.lib.format',
                        'pyqtgraph.debug','pyqtgraph.functions',
                        'pyqtgraph.ThreadsafeTimer','cp_util_jul17'],
            include_files = ['GUI_cprofiles_jul17.ui']
        )),
    executables = [Executable(
        script='cprofiles_jul17.py',
        base='Win32GUI',
        targetName=‘concentprofiles.exe'
        )]
    )

Затем я выполняю командную строку "python setup.py build" в приглашении anaconda (эквивалентно командной строке, насколько мне известно) в каталоге с 4 файлами. После многих эпизодов и часов борьбы здание выглядит нормально (100-секундные строки без сообщений об ошибках и продолжается до конца), оно создает каталог 'build' с подкаталогом 'exe.win-amd64-3.5', содержащим все необходимое + .exe. Но когда я пытаюсь запустить этот .exe, я ничего не получаю: ни сообщения об ошибке, ни открытия консоли или окна, ни быстрого открытия-закрытия, и я не могу найти журнал ... просто ничего

Я попытался изменить опцию «base» с «Win32GUI» на base = «Console» и base = None. В этих случаях я предполагаю, что есть быстрое закрытие-открытие консоли, которое я не могу прочитать, так как я не могу найти журнал

Вот несколько других плохих результатов во время других попыток:

py2exe: оказывается несовместимым с моим обычным python 3.6, поэтому я понизил до 3.5. Но даже в 3.5 после нескольких строк он замерз: опять нет сообщений об ошибках, нет открытий консоли или окна, нет быстрого открытия-закрытия, и я не могу найти журнал ... просто ничего. даже не «сборочный» каталог. В другой раз я также попробовал альтернативу с python 3.4, но получил ошибку, касающуюся отсутствующего msvcr100.dll, которую я пытался установить, следуя инструкциям на форумах. Когда я в итоге получил разрешение на изменение системных каталогов, инструкция «regsvr32» завершилась неудачно (разве это не только для 32 битов? Но нет «regsvr64»…). В конце концов я сдался

pyinstaller: смотреть обновления

pynsist: принцип pynsist заключается в том, что вы получаете не исполняемый файл, а только установщик. Почему нет ? Мне не нужен .exe, если я могу распространять код. К сожалению, после сборки установщика (без ошибок) и его установки (опять же без видимой ошибки) программа ничего не дает, как в случае cx_Freeze.

Я могу добавить ссылку на файлы скриптов, если хотите / нуждаетесь.

Обновление август, 18, 2017, 9:20

Следуя предложению, я открыл новый пост, касающийся pyinstaller:создать .exe для Windows из скрипта python 3, импортирующего theano с помощью pyinstaller.

Я приглашаю вас ответить на вопросы, касающиеся pyinstaller. Этот вопрос будет помечен как ответивший, если моя проблема будет решена с помощью py2exe или cx_freeze.

Обновление 2 сентября, 2 часа дня:

В конце концов мне удалось собрать .exe с pyinstaller после многих эпизодов.

К сожалению, мне не удалось разобраться с модулем «theano» (который требуется в моем случае модулем «pymc3»), и мне пришлось изменить файлы .py и отказаться от части приложения. Может ли кто-нибудь помочь мне создать .exe для Windows 7+ с модулем «theano»?

Ответы на вопрос(0)

Ваш ответ на вопрос