Python - cxfreeze постоянно говорит, что файл / каталог не существует - PullRequest
1 голос
/ 08 января 2012

У меня есть очень простой код, который работает, и я хочу превратить его в исполняемый файл.

Поскольку я использую Python 3, потому что он кажется намного чище, чем другие издания Python, яЯ не смог использовать Py2Exe, поэтому вместо этого я установил cxfreeze.

После запуска cxfreeze с помощью следующей команды:

cxfreeze "C:\Users\pc user\Documents\Python\First project\Main.py"

Это говорит о том, что каталог / файл не существует.Это примерно так же глубоко, как и идет.Точная ошибка выглядит примерно так: «Не удалось найти указанный путь»

Сам cxfreeze «обнаружен» cmd, потому что я не получаю нераспознанную ошибку, когда просто запускаю «cxfreeze».И cxfreeze, и python находятся в моей переменной окружения PATH.

Естественно, я трижды проверил каталог, и он правильный.

Я пробовал варианты этой команды, включая

python cxfreeze "C:\Users\pc user\Documents\Python\First project\Main.py"
cxfreeze C:\Users\pc user\Documents\Python\First project\Main.py
python cxfreeze C:\Users\pc user\Documents\Python\First project\Main.py

Кто-нибудь может пролить свет на эту ситуацию?

Ответы [ 2 ]

2 голосов
/ 16 ноября 2012

У меня была похожая проблема с cxfreeze при следующей настройке:

  • 64-разрядная ОС Win7
  • 64-разрядная версия Python 2.7.3 (из python.org)
  • cxfreeze 4.3 для Win 64-bit + Python 2.7 (из http://cx -freeze.sourceforge.net / )

После некоторых исследований выясняется, что всеиз сценариев, которые были установлены пакетом cxfreeze в мой каталог 'c: \ python27 \ Scripts' (cxfreeze, cxfreeze.bat, cxfreeze-quickstart, cxfreeze-quickstart.bat), содержали неверные ссылки на мой базовый путь python.

Внутри этих скриптов были ссылки на базовый путь 'c: \ python \ 32-bit \ 2.7' и 'c: \ python \ 64-bit \ 2.7'.Я отредактировал сценарии и исправил пути (изменил базовый путь на «c: \ python27»), и это устранило проблемы. Проверьте базовый путь установки Python в вашей системе.

Не уверен, почему эти пути были неправильными.Я установил Python с официального сайта python.org (на который ссылается cxfreeze docs) и не изменил место установки.

2 голосов
/ 08 января 2012
  • Получить двоичный файл cxfreeze. Я получил свой от здесь . Файл cx_Freeze-4.2.3.win-amd64-py3.2.‌exe (мой компьютер win7 64-битный с 64b Python).
  • Установите его на Python 3.2. Файл cxfreeze.bat создается в C:\Python32\Scripts.
  • Откройте файл .bat. Изменить содержание:

    @echo off
    X:\Python32\python.exe X:\Python32\Scripts\cxfreeze %*

    с

    @echo off
    C:\Python32\python.exe C:\Python32\Scripts\cxfreeze %*

    или эквивалент для вашего конкретного пути

  • Откройте консоль cmd и измените каталог на C:\Python32\Scripts (у меня Python 2.6 по умолчанию, так что Python32 / Scripts не в пути. В любом случае, это более безопасный метод)
  • Выполните файл cxfreeze.bat, как показано:

Microsoft Windows [Versión 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Reservados todos los derechos.

C:\>cd c:\Python32\Scripts

c:\Python32\Scripts>cxfreeze.bat "C:\Users\pc user\Documents\First project\Main.py"
copying C:\Python32\lib\site-packages\cx_Freeze\bases\Console.exe -> c:\Python32\Scripts\d
ist\Main.exe
copying C:\Windows\system32\python32.dll -> c:\Python32\Scripts\dist\python32.dll
...............................................
................................................. 
m zipimport
m zlib

copying C:\Python32\DLLs\bz2.pyd -> c:\Python32\Scripts\dist\bz2.pyd
copying C:\Python32\DLLs\unicodedata.pyd -> c:\Python32\Scripts\dist\unicodedata.pyd

c:\Python32\Scripts>
  • В C:\Python32\Scripts\ создается папка dist, включающая ваш Файл Main.exe
...