2016-06-18 2 views
3

Yesterday Я задал вопрос об использовании Excel и Python одновременно. Решение было найдено: с использованием пакета xlwings.Ошибка при использовании cx_freeze и PyInstaller для создания файла .exe в Python (включая xlwings)

Однако есть еще одна проблема, связанная с этим: я не могу сохранить файл .py в качестве исполняемого файла (exe).

Вот код, я пытаюсь сохранить:

doiterations.py

import xlwings as xl 
    import numpy 
    import time 

    wb = xl.Workbook.active() 
    sheet = wb.active 

    iter = input("How many iterations do you need? \n") 
    i = 0 
    cell1 = raw_input("Write a column where you need to iterate \n") 
    cell2 = int(raw_input("Write a row where you need to iterate \n")) 

    while True: 
     i += 1 
      if i <= iter: 
       arg = numpy.random.uniform() 
       xl.Range("%s%d" % (cell1, cell2)).value = arg 
      else: 
       break 

     wb.save() 
     print("Done!") 

     time.sleep(2) 

Я пытался использовать cx_freezer и сделал setup.py файл со следующим кодом:

 from cx_Freeze import setup, Executable 

     setup(
      name = "Uniform distribution generator", 
      version = "1.0", 
      description = "Uniform distribution generator", 
      executables = [Executable("doiterations.py")] 
     ) 

Такое setyp.py файлы с аналогичным кодом, должным образом работающим с другими модулями. Тем не менее, на этот раз я получил ошибку no file named sys:

cx_Freeze.freezer.ConfigError: no file named sys (for module collections.sys) 

enter image description here

Я пытался использовать PyInstaller пакет с помощью следующей команды:

enter image description here

и снова столкнулся ошибка:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc0 in position 7: ordinal not in range(128) 

enter image description here

Я искал через Google и Stackoverflow и нашел некоторые комментарии по этой проблеме, которая может помочь найти решение:

https://mborgerson.com/creating-an-executable-from-a-python-script http://www.dreamincode.net/forums/topic/192592-making-an-exe-file-with-pyinstaller/

cx_freeze fails to create exe with pandas library cx-freeze error on build Traceback from CX_Freeze doesn't make sense

Мою версию Python - 2,7.

Пожалуйста, помогите решить проблему и создать рабочий исполняемый файл!

+0

Пожалуйста, разместите текст как [форматированный текст] (https://stackoverflow.com/editing-help), а не изображения. – zondo

+0

@zondo Если вы скажете мне, как скопировать текст с панели управления Windows (cmd), я сделаю это с большим удовольствием. – Alex

+0

@shivsn Не могли бы вы пояснить меня, пожалуйста, где я должен точно указать ваш код? Также будет полезен полный алгоритм. – Alex

ответ

2

По крайней мере, в случае cx_freeze объяснение можно найти: https://bitbucket.org/anthony_tuininga/cx_freeze/issues/127/collectionssys-error

К сожалению Python Package Index не обеспечивает версию cx_freeze, которая включает в себя необходимые изменения. Новая версия cx_Freeze может быть установлена ​​после установки Microsoft Visual C++ Compiler for Python 2.7. Можно установить питон пакеты из других мест, чем пакеты Python с команды пипа, в этом случае

pip install --upgrade https://bitbucket.org/anthony_tuininga/cx_freeze/get/tip.zip 

Это должно быть сделано в Anaconda проворной, который должен быть найден в меню Пуска , командной строки достаточно, если PATH был изменен во время установки Anaconda.

+0

Снова не работает. Однако я могу ошибаться. Пожалуйста, проверьте меня. 1. На шаге 6 я написал 'pip install --upgrade cx_freeze', поскольку он не позволял мне писать без' cx_freeze'. 2. На шаге 4 я начал обычную командную строку Windows (cmd). Может, мне следовало начать еще один? – Alex

Смежные вопросы