Компиляция Cx-Freeze под Ubuntu

Весь день я пытался скомпилировать cx-Freeze под Ubuntu 14.04 и не повезло. Поэтому я сдался и решил спросить экспертов здесь.

Что у меня есть

  1. Ubuntu 14.04
  2. Python 3.4
  3. python-dev, python3-dev, установлен python3.4-dev (я знаю эту общую проблему)
  4. Источники cx-Freeze 4.3.3

Я пробовал два пути:

  1. установить из источников
  2. установить по пипу

Установить из источников

sudo python3 setup.py install 

Что я имею

много

 MyPath/cx_Freeze-4.3.3/source/bases/Console.c:24: undefined reference to `PyErr_Print' MyPath/cx_Freeze-4.3.3/source/bases/Console.c:24: undefined reference to `Py_FatalError' 

а потом

 collect2: error: ld returned 1 exit status error: command 'i686-linux-gnu-gcc' failed with exit status 1 

Установить по пипу

 sudo pip3 install cx-Freeze 

Что я имею

 collect2: error: ld returned 1 exit status 

Ошибка: команда 'i686-linux-gnu-gcc' не удалась с статусом выхода 1

 ---------------------------------------- Cleaning up... Command /usr/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/cx-Freeze/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-c954v7x6-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/cx-Freeze Storing debug log for failure in /home/grimel/.pip/pip.log 

и в pip.log

 Exception information: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/pip/basecommand.py", line 122, in main status = self.run(options, args) File "/usr/lib/python3/dist-packages/pip/commands/install.py", line 283, in run requirement_set.install(install_options, global_options, root=options.root_path) File "/usr/lib/python3/dist-packages/pip/req.py", line 1435, in install requirement.install(install_options, global_options, *args, **kwargs) File "/usr/lib/python3/dist-packages/pip/req.py", line 706, in install cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False) File "/usr/lib/python3/dist-packages/pip/util.py", line 697, in call_subprocess % (command_desc, proc.returncode, cwd)) pip.exceptions.InstallationError: Command /usr/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/cx-Freeze/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-c954v7x6-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/cx-Freeze 

Итак, я ожидаю, что вы поможете мне в этом вопросе и будьте очень благодарны 🙂

4 Solutions collect form web for “Компиляция Cx-Freeze под Ubuntu”

В строке setup.py

 if not vars.get("Py_ENABLE_SHARED", 0): 

заменить на

 if True: 

Благодаря Томасу К.

Из cx_freeze / issues

Скачать

Вам необходимо загрузить исходный код

Для python 3.3 и 3.4:

  1. sudo apt-get install python3-dev

  2. sudo apt-get install libssl-dev

  3. Откройте setup.py и измените строку

    if not vars.get("Py_ENABLE_SHARED", 0):

    в

    if True:

  4. python3 setup.py build

  5. sudo python3 setup.py install

Для python 2.7:

  1. sudo apt-get install python-dev

  2. sudo apt-get install libssl-dev

  3. Откройте setup.py и измените строку

    if not vars.get("Py_ENABLE_SHARED", 0):

    в

    if True:

  4. python setup.py build

  5. sudo python setup.py install

Ответ Гримеля сработал для меня. Пока cx_freeze не выпустит обновление для этого, я включаю в себя ряд шагов, которые вы можете сделать, чтобы получить эту работу с использованием решения GriMels.

 # create and activate virtualenv (as desired) virtualenv envs/test_cxfreeze . ./envs/test_cxfreeze/bin/activate # download cxfreeze; do not install yet mkdir src/ pip install --download=./src/ cx-freeze tar zxvf ./src/cx_Freeze-4.3.4.tar.gz -C ./src/ # fix bug in setup.py vim src/cx_Freeze-4.3.4/setup.py 84c84 < if True: --- > if not vars.get("Py_ENABLE_SHARED", 0): # install cxfreeze pip install ./src/cx_Freeze-4.3.4/ 

Я также открыл проблему с битбакетом с тем, что похоже на исходное репо.

 https://bitbucket.org/anthony_tuininga/cx_freeze/issues/153/cx_freeze-434-compile-error-on-ubuntu-1404 

Похоже, у вас может быть опечатка

  sudo pip3 install cx-Freeze 

в

  sudo pip3 install cx_Freeze 
  • Ошибка Python + Ubuntu Linux + nohup: + Выход
  • Автоматизировать firefox с помощью python?
  • name 'get_config' не определен
  • У меня Python на моей системе Ubuntu, но gcc не может найти Python.h
  • Как программно захватывать фотографию веб-камеры
  • Статические файлы Django не отображаются на рабочем сервере. Как я могу правильно их отобразить, поэтому я вижу графический интерфейс администратора
  • ImportError: нет модуля с именем _io в ubuntu 14.04
  • как я могу использовать pip с pypy, установленным с панели запуска?
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.