Подтвердить что ты не робот

Как использовать cx_freeze?

Я создал файл setup.py в соответствии с инструкциями, но на самом деле я не понимаю.. что делать дальше. Ввод "python setup.py build" в командную строку просто вызывает синтаксическую ошибку.

Итак, что мне делать?

setup.py:

from cx_Freeze import setup, Executable

setup(
    name = "On Dijkstra Algorithm",
    version = "3.1",
    description = "A Dijkstra Algorithm help tool.",
    exectuables = [Executable(script = "Main.py", base = "Win32GUI")])
4b9b3361

Ответ 1

  • Добавьте import sys в качестве новой линии верха
  • Вы ошибочно написали "исполняемые файлы" в последней строке.
  • Удалите script = в последней строке.

Теперь код должен выглядеть следующим образом:

import sys
from cx_Freeze import setup, Executable

setup(
    name = "On Dijkstra Algorithm",
    version = "3.1",
    description = "A Dijkstra Algorithm help tool.",
    executables = [Executable("Main.py", base = "Win32GUI")])

Используйте командную строку (cmd) для запуска python setup.py build. (Запустите эту команду из папки, содержащей setup.py.) Обратите внимание на параметр build, который мы добавили в конце вызова script.

Ответ 2

Я действительно не уверен, что вы делаете, чтобы получить эту ошибку, похоже, что вы пытаетесь запустить cx_Freeze самостоятельно, без аргументов. Итак, вот краткое пошаговое руководство о том, как это сделать в окнах (ваш скриншот выглядит скорее как оконная командная строка, поэтому я предполагаю, что ваша платформа)

  • Запишите файл setup.py. Ваш script выше выглядит правильно, поэтому он должен работать, предполагая, что ваш script существует.

  • Откройте командную строку (StartRun"cmd")

  • Перейдите в папку файла setup.py и запустите python setup.py build

Примечания:

  • Может возникнуть проблема с именем вашего script. "Main.py" содержит буквы верхнего регистра, что может вызвать путаницу, поскольку имена файлов Windows не чувствительны к регистру, но python. Мой подход заключается в том, чтобы всегда использовать строчные буквы для сценариев, чтобы избежать конфликтов.

  • Убедитесь, что python находится на вашем PATH (читайте http://docs.python.org/using/windows.html) 1

  • Убедитесь, что вы смотрите новую документацию cx_Freeze . Google часто, похоже, воспитывает старые документы.

Ответ 3

У меня возникла аналогичная проблема. Я решил это, установив опции Executable в переменной, а затем просто вызвав переменную. Ниже приведен пример setup.py, который я использую:

from cx_Freeze import setup, Executable
import sys

productName = "ProductName"
if 'bdist_msi' in sys.argv:
    sys.argv += ['--initial-target-dir', 'C:\InstallDir\\' + productName]
    sys.argv += ['--install-script', 'install.py']

exe = Executable(
      script="main.py",
      base="Win32GUI",
      targetName="Product.exe"
     )
setup(
      name="Product.exe",
      version="1.0",
      author="Me",
      description="Copyright 2012",
      executables=[exe],
      scripts=[
               'install.py'
               ]
      ) 

Ответ 4

Вы можете изменить код setup.py на это:

    from cx_freeze import setup, Executable
    setup( name = "foo",
           version = "1.1",
           description = "Description of the app here.",
           executables = [Executable("foo.py")]
         )

Я уверен, что это сработает. Я пробовал это на обоих окнах 7, а также на ubuntu 12.04

Ответ 5

найдите cxfreeze script и запустите его. Он будет находиться на том же пути, что и ваши другие скрипты-помощники python, такие как pip.

cxfreeze Main.py --target-dir dist

читайте больше на: http://cx-freeze.readthedocs.org/en/latest/script.html#script