.PY в .EXE Python 2.6 - PullRequest
       13

.PY в .EXE Python 2.6

1 голос
/ 24 февраля 2011

Я пытаюсь преобразовать мой скрипт .PY в файл .EXE, в процессе я пробовал PY2EXE со следующей командной строкой .. python C:\Users\Noob\Desktop\setup.py py2exe -p ftplib -> -p ftplib для импорта моего модуля. Когда я использую этот код, у меня остается .EXE и куча файлов, и если я вытащу .EXE, то возникнет ошибка. Требуется наличие «_socket.pyd» и «python26.dll», иначе произойдет сбой (программа). Как мне скомпилировать это (без необходимости использовать PY2EXE или без него) без этих дополнительных файлов? Большое спасибо!

Ответы [ 2 ]

1 голос
/ 24 февраля 2011

Можно создать исполняемый файл из одного файла с py2exe, файл setup.py будет выглядеть примерно так:

from distutils.core import setup
import py2exe

setup(
    console=['yourscript.py'], # list of scripts to convert into console exes 
    zipfile=None, # library files in exe instead of zipfile (defaults to "library.zip")
    options = {
        'py2exe': {
            'bundle_files': 1, # bundle dlls and python interpreter in the exe
         }
    }
)

См. Список параметров py2exe для получения дополнительной информации.Также взгляните на "Что это за файлы?"вопрос из FAQ .

Возможно, вы также захотите взглянуть на PyInstaller (который, кажется, делает лучшую работу по созданию отдельных файловых файлов с помощью Microsoft MSVCR* .DLL файлы включены, если вам это нужно) Обязательно используйте 1,5 серии для Python 2.6 на Windows .

1 голос
/ 24 февраля 2011

Вы не должны извлекать exe из вашей папки и выполнять. Просто запустите его из каталога dist, в котором он был создан, в нем есть файл python26.dll, который необходим исполняемому файлу. Если вы хотите отправить его, заархивируйте каталог dist и отправьте его. В противном случае вы должны создать установщик, используя специальное программное обеспечение, такое как NSIS. Я надеюсь, что вы взглянули на специальный раздел Python2.6 , в котором есть подробности о том, как записывать файлы data_files для включения msvcr90.dll

Кроме того, я нахожу этот параметр -p ftplib cmd довольно новым. Обычно все, что нужно сделать, находится в файле setup.py. Можете ли вы указать, где упоминается такая спецификация опций?

...