1 Востаннє редагувалося N1ck (01.08.2017 20:55:27)

Тема: Проблема з конвертацією .py -> .exe.

Доброго дня. Проблема з конвертацією .py -> .exe.
Ось код в set.up

from cx_Freeze import setup, Executable
import os
import sys

os.environ['TCL_LIBRARY'] = 'c:/python/tcl/tcl8.6'
os.environ['TK_LIBRARY'] = 'c:/python/tcl/tk8.6'

buildOptions = dict (
    packages = ['os'],
    excludes = ['tkinter','matplotlib.pyplot','numpy'],
    include_files = ['c:/python/DLLs/tcl86t.dll', 'c:/python/DLLs/tk86t.dll']
    )
base = 'Win32GUI' if sys.platform=='win32' else None    


executables = [
    Executable('plot.py', base=base)
]

setup(name='editor',
      version = '1.0',
      description = '',
      options = dict(build_exe = buildOptions),
      executables = executables)

Ось список бібліотек,що живуть в plot.py.
import matplotlib.pyplot as plt
import numpy as np
import os
from tkinter import *.

А ось помилку,яку видає після створення .exe.

Post's attachments

Безымянный.png 581.64 kb, 139 downloads since 2017-08-01 

2

Re: Проблема з конвертацією .py -> .exe.

Навіщо, навіщо це робити?

Подякували: Master_Sergius1

3

Re: Проблема з конвертацією .py -> .exe.

Kizyak написав:

Навіщо, навіщо це робити?

Тобто?
Що тут такого?
Виникло питання,після доволі тривалих пошуків в Інтернеті,на жаль не вдалих,я запитав на форумі.

4

Re: Проблема з конвертацією .py -> .exe.

По-перше це дивно уживати абсолютні шляхи до бібліотек(навіть якщо відкомпілиться то працювати на иншій машині не буде), по-друге спробуйте зберегти потрібну бібліотеку(mathplotlib) у теці вашого проєкта.

Подякували: N1ck, ostap34PHP, leofun013

5

Re: Проблема з конвертацією .py -> .exe.

0xDADA11C7 написав:

По-перше це дивно уживати абсолютні шляхи до бібліотек(навіть якщо відкомпілиться то працювати на иншій машині не буде), по-друге спробуйте зберегти потрібну бібліотеку(mathplotlib) у теці вашого проєкта.

А такого я не знаходжу

Post's attachments

Безымянный.png 709.79 kb, 127 downloads since 2017-08-01 

6

Re: Проблема з конвертацією .py -> .exe.

from cx_Freeze import setup, Executable
import os
import sys

os.environ['TCL_LIBRARY'] = 'c:/python/tcl/tcl8.6'
os.environ['TK_LIBRARY'] = 'c:/python/tcl/tk8.6'

buildOptions = dict (
    packages = ['os','tkinter','matplotlib','numpy'],
    excludes = [],
    include_files = ['c:/python/DLLs/tcl86t.dll', 'c:/python/DLLs/tk86t.dll']
    )
base = 'Win32GUI' if sys.platform=='win32' else None    


executables = [
    Executable('plot.py', base=base)
]

setup(name='editor',
      version = '1.0',
      description = '',
      options = dict(build_exe = buildOptions),
      executables = executables)

Так працює

Подякували: 0xDADA11C7, koala, ostap34PHP, leofun014

7

Re: Проблема з конвертацією .py -> .exe.

Python - інтерпретована мова і не призначена для "приховування коду". Мало того, той код не так вже й важко дизасемблювати. Звісно, це непогано розібратися як зробити *.ехе, але чи варто? Це як ковтати ножі - виглядить круто, але більше ні для чого не потрібно.

Подякували: koala, ping, leofun01, Eff1c4

8

Re: Проблема з конвертацією .py -> .exe.

Master_Sergius написав:

Python - інтерпретована мова і не призначена для "приховування коду". Мало того, той код не так вже й важко дизасемблювати. Звісно, це непогано розібратися як зробити *.ехе, але чи варто? Це як ковтати ножі - виглядить круто, але більше ні для чого не потрібно.

Так було за часів бейсиків, а нині інтерпретованих мов в клясичній імплементації (читає й одразу виконує) майже нема. Спершу код перетворюється або на пікод для виконання віртуальною машиною інтерпретатора або за допомогою JIT - одразу в машинний. Нині компілер од інтерпретера відрізняється лише здатністю зберігати свій стан у винонуваний файл на диску. Єдиною перепоною у створенні якісних компілерів з інтерпретаторів є конструкція eval(саме тому нейтів JS компілера не існує). Це я відписався про теорію, тепер щодо практики. Ви побачили як священну корову зарізапли скомпілювали, проте я впевнений що ви не замислюючись користуєтесь компільованим Пайтоном й розхвалююте не всі боки цю контору, що її написала - застосунок гугляцького диску для Windows. А висновок простий: все зло в Україні від маншовартости, навіть з компілерами працювати заважає.

9

Re: Проблема з конвертацією .py -> .exe.

Ну, наприклад, оці "пік" файли можна розібрати, навіть є ось такий сервіс - http://depython.com
З того ж ехе, звісно, навряд чи вийде абсолютно той же код, що був на вході, але прослідкувати логіку можна буде.
Я вважаю (звісно, можу помилятися), що все що зашифровано можна розшифрувати, хіба просто не в тому вигляді )

Подякували: ostap34PHP, leofun012

10

Re: Проблема з конвертацією .py -> .exe.

Все правильно кажете стосовно можливості розшифрування, проте й нейтів програми можна не тількт дизасемблювати, а й в більшості випадків декомпілювати до джерельного коду. То тепер нам нічого не компілювати, бо О Боже мій код після компіляції хтось може переглянути? Якісь нездорові асоціації з компіляцією, їй-богу.

Подякували: Master_Sergius, leofun01, N1ck3

11

Re: Проблема з конвертацією .py -> .exe.

Добре, і все ж, а який тоді сенс робити ехе із пайтон коду? Швидше виконуватися не буде, можливо, навіть повільніше, бо туди буде впихувати все, що потрібно для виконання.

12

Re: Проблема з конвертацією .py -> .exe.

Запустити без PYTHON обв'язки жеж. Синтаксичний аналізатор і аналіз вже не потрібні, тому буде швидше.

Подякували: leofun011

13

Re: Проблема з конвертацією .py -> .exe.

.pyc!!!

14

Re: Проблема з конвертацією .py -> .exe.

Master_Sergius написав:

Добре, і все ж, а який тоді сенс робити ехе із пайтон коду? Швидше виконуватися не буде, можливо, навіть повільніше, бо туди буде впихувати все, що потрібно для виконання.

Думаю буде не зайвим пояснити чому це вирішив зробити я.
По-перше,це цікаво. Дізнатися щось нове й подолати проблему,нехай й не відразу.
По-друге,код який я писав буде використовуватися на комп’ютері де немає ані python,ані бібліотек,які потрібні для коректної роботи програми. Тому створити ексешник й встановити на комп в 100 разів легше.
З приводу того,що хтось може дізнтися код,то мені не шкода,там особливого нічого немає

Подякували: 0xDADA11C71

15

Re: Проблема з конвертацією .py -> .exe.

N1ck написав:
Master_Sergius написав:

Добре, і все ж, а який тоді сенс робити ехе із пайтон коду? Швидше виконуватися не буде, можливо, навіть повільніше, бо туди буде впихувати все, що потрібно для виконання.

Думаю буде не зайвим пояснити чому це вирішив зробити я.
По-перше,це цікаво. Дізнатися щось нове й подолати проблему,нехай й не відразу.
По-друге,код який я писав буде використовуватися на комп’ютері де немає ані python,ані бібліотек,які потрібні для коректної роботи програми. Тому створити ексешник й встановити на комп в 100 разів легше.
З приводу того,що хтось може дізнтися код,то мені не шкода,там особливого нічого немає

ще додам - такі завдання часто зустрічаються на upwork and freelancer.com - можна заробти пару доларів.

Подякували: N1ck1

16

Re: Проблема з конвертацією .py -> .exe.

ping написав:
N1ck написав:
Master_Sergius написав:

Добре, і все ж, а який тоді сенс робити ехе із пайтон коду? Швидше виконуватися не буде, можливо, навіть повільніше, бо туди буде впихувати все, що потрібно для виконання.

Думаю буде не зайвим пояснити чому це вирішив зробити я.
По-перше,це цікаво. Дізнатися щось нове й подолати проблему,нехай й не відразу.
По-друге,код який я писав буде використовуватися на комп’ютері де немає ані python,ані бібліотек,які потрібні для коректної роботи програми. Тому створити ексешник й встановити на комп в 100 разів легше.
З приводу того,що хтось може дізнтися код,то мені не шкода,там особливого нічого немає

ще додам - такі завдання часто зустрічаються на upwork and freelancer.com - можна заробти пару доларів.

Вау,приємно вражений,дякую

17

Re: Проблема з конвертацією .py -> .exe.

Master_Sergius написав:

Ну, наприклад, оці "пік" файли можна розібрати, навіть є ось такий сервіс - http://depython.com

http://depython.com вже не існує. Я використовував інший сервіс де .pyc файли можна розбирати онлайн - http://decompiler.com