Найти - Пользователи
Полная версия: Билд программы на windows с помощью cx_freeze
Начало » Python для новичков » Билд программы на windows с помощью cx_freeze
1 2 3 4
newbe
Собственно собирал тулзу небольшую свою, с помощью cx_freeze, но каждый раз ругается на то, что нет модуля Crypto, хотя он установлен и pycrypto так же есть. Как решить проблему?
JOHN_16
Попробовать это
newbe
JOHN_16
Попробовать это
даже не думал что нужно очевидные вещи постить, есть это:
 from cx_Freeze import setup, Executable
buildOptions = dict(
	packages = ['platform', 'uuid', 'core', 'Crypto'], 
	excludes = [],
	includes=[], 
	include_files=[])
 
import sys
base = 'Win32GUI' if sys.platform=='win32' else None
 
executables = [
    Executable('./liquimoly.py', base=base)
]
setup(
    name='demo',
    version = '0.0.1',
    description = 'demo',
    options = dict(build_exe = buildOptions),
    executables = executables
)
на что при билде cx говорит что Crypto - нет, пробовал прописывать pycrypto еще, та же ситуация, а если попробовать crypto (в нижнем регистре), билд проходит ок, но при запуске та же ошибка, отсутствия модуля Crypto
WoMax
newbe
даже не думал что нужно очевидные вещи постить
С чего они нам должны быть очевидными?

Вангую что в самом проекте есть модуль с названием crypto.py
newbe
Да, есть класс crypto.py
newbe
Я так полагаю, решений нет?
FishHook
newbe
Я так полагаю, решений нет?
Решение на самом деле самое очевидное.
Понимаете, cx_freeze и ему подобные - это извращение. Это неправильное применение скриптовых языков программирования, применение технологии в несвойственном ей стиле и для решения несвойственной ей задачи. Все подобные решения призваны натягивать сову на глобус и решать проблемы через жопу. Если вы выбрали питон как основной язык программирования в своем проекте, это значит, что вы выбрали опен сорс. Вы так или иначе распространяете свой код в исходниках. cx_freeze не спасет вас от “кражи” вашего великого кода и по сути не сделает вообще никакой полезной работы. Если вам нужен инсталлятор, то для этого есть куча способов распрострянять питоньи программы, самый кошерный способ - собрать пакет для pip, и с помощью pip дистрибутировать программу.
Вы удивляетесь, что вам не могут предложить нормального решения для сборки бинарника? Ну так это и очевидно! Питонья программа не должна собираться в бинарник, ей это не надо, разработчикам питона это не надо, а если вам надо - то вы просто выбрали плохой инструмент для вашей задачи.

Решение: не собирать программу фризом или писать её на чем-то другом, например, на С++.
WoMax
newbe
Да, есть класс crypto.py
Так класс или модуль? Пробуйте переименовать его.
WoMax
FishHook
Ну так это и очевидно! Питонья программа не должна собираться в бинарник, ей это не надо, разработчикам питона это не надо, а если вам надо - то вы просто выбрали плохой инструмент для вашей задачи.
Вот как раз для ситуаций, когда нужен бинарник, а из инструментов есть только питон, cx_freeze и нужен.
JOHN_16
у меня нету винды - банально попробовать не могу. На линуксе простой пример работает. К сожалению не могу помочь
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB