Arhn - архитектура программирования

.exe, созданный с помощью cxfreeze-quickstart, ничего не делает — cx_freeze 5.0

Я использую python 3.5.1 и неофициальную сборку cx_freeze 5.0, доступную здесь. Я пытаюсь создать исполняемую версию проекта Python, используя tkinter и sympy, над которыми я работал. Я использовал cxfreeze-quickstart для создания файла setup.py для программы, и с точки зрения создания того, что, по крайней мере, кажется допустимым исполняемым файлом, он работает без каких-либо ошибок. Однако, когда я пытаюсь запустить исполняемый файл, ничего не происходит. Я знаю, что подобные вопросы задавались здесь, и я просмотрел и попытался понять все, что нашел, но ни одно из решений не сработало для меня. Я не понимаю, что происходит, и любая помощь будет оценена по достоинству. Код ниже:

from cx_Freeze import setup, Executable

# Dependencies are automatically detected, but it might need
# fine tuning.
buildOptions = dict(packages = [], excludes = [])

import sys
base = 'Win32GUI' if sys.platform=='win32' else None

executables = [
    Executable('c:\\users\\joe\\pycharmprojects\\physics2-0\\physics2-0.py', base=base,
           targetName = 'c:\\users\\joe\\pycharmprojects\\physics2-0\\physics.exe')
]

setup(name='physics solver',
      version = '0.1',
      description = 'alpha physics solver',
      options = dict(build_exe = buildOptions),
      executables = executables)

Заранее спасибо.

ОБНОВЛЕНИЕ: сейчас я пытаюсь написать сценарий setup.py самостоятельно в соответствии с шаблоном, представленным в документации, хотя любая помощь все равно будет очень признательна.

ОБНОВЛЕНИЕ 2: я написал свой собственный setup.py в соответствии с шаблоном, представленным в документации, и поместил его в ту же папку, что и скрипт, который я хочу заморозить, чего я не осознавал, что мне нужно было сделать. Я запустил python setup.py build в командной строке, и он создал подкаталог build с exe и DLL. Однако теперь, когда я пытаюсь запустить exe, появляется сообщение об ошибке, в котором говорится, что ImportError: DLL load failed. The specified module could not be found. относится к tkinter. Код для 2-го setup.py ниже.

import sys
from cx_Freeze import setup, Executable

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

# 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 = "physics solver",
        version = "0.1",
        description = "a basic physics solver",
        options = {"build_exe": build_exe_options},
        executables = [Executable("Physics2-0.py", base=base)])

Ниже приведены первые 4 строки physics2-0.py. Строка, на которую указывает сообщение об ошибке, — это строка 1.

from tkinter import *
from tkinter import ttk
from sympy import Symbol
from sympy.solvers import solve

ОБНОВЛЕНИЕ 3: Кто-нибудь, пожалуйста, помогите мне здесь. Я не могу понять это. Я даже сделал чистую переустановку python на этом этапе, просто чтобы убедиться, что я случайно что-то не испортил в какой-то момент, и он все еще выдает мне то же сообщение об ошибке.


  • Может быть полезно предоставить минимальный воспроизводимый пример. Теперь неясно, импортирует ли ваш код, например, numpy, что может вызвать проблемы с cx_Freeze, как описано в ответе для Проблема, связанная с cx_Freeze. 22.06.2016
  • @ J.J.Hakala J.J.Hakala Извините, я не знал, что забыл включить код для второго сценария установки. Я пойду и посмотрю, смогу ли я выяснить, импортирует ли он numpy. РЕДАКТИРОВАТЬ: кажется, что он импортирует numpy, да, но я думаю, что sympy имеет некоторые зависимости от numpy. Я попробую исключить numpy и посмотрю, что произойдет. 22.06.2016
  • @ J.J.Hakala Исключение numpy не имело очевидного эффекта, хотя я проверю еще раз. Проблема, я думаю, кроется в другом. 22.06.2016
  • Это ImportError происходит при выполнении кода в Physics2-0.py. Ответить на ваш вопрос может быть невозможно, так как код в Physics2-0.py недоступен. 22.06.2016
  • @ J.J.Hakala Я добавил первые 4 строки physics2-0.py в исходный пост. должно быть достаточно, так как строка 1 является строкой, на которую ссылается ошибка. 22.06.2016

Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..