2012-01-07 2 views
1

У меня есть очень простой код, который работает, и я хочу превратить его в exe.Python - cxfreeze продолжает говорить файл/каталог несуществующий

Поскольку я использую 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 

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

+0

Вы получаете ту же ошибку, если вы помещаете файл в место, в котором нет пробелов в пути? – DSM

+0

Интересная идея. Я проверю это сейчас. Надеюсь, я это сделаю, потому что, если я этого не сделаю, это будет означать, что я не могу использовать папку моих документов: L –

+0

cxfreeze C: \ Scripts \ Main.py «Система не может найти указанный путь» –

ответ

2
  • Получить двоичный файл cxfreeze. Я получил от here. Файл cx_Freeze-4.2.3.win-amd64-py3.2.‌exe (мой компьютер Win7 64-бит с 64-битным 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\, который включает в свой Главная ,.exe файл
+0

Исправлена ​​моя текущая проблема, но теперь она говорит, что% 1 не является допустимым исполняемым файлом win32. Проблема заключалась в том, что C: \ Python32-64 в пакетном файле, я думаю (он имел C: \), но после исправления я получил ошибку –

+0

Не уверен, как вы получили этот командный файл, если вы использовали те же самые пакеты, которые я указал вам. ясно, что вы сделали ** точно ** те же шаги, с теми же файлами, что и я описал. Мне потребовалось 5 минут, чтобы установить все и сгенерировать исполняемый файл, который я проверил, и нашел, что он работает идеально. Поэтому трудно сказать, что происходит в вашем случае. Вы уверены, что у вас нет вещей из старой установки? – joaquin

+0

I теперь он работает. По-видимому, несмотря на наличие 64-битной системы, а также установку Windows и, возможно, установку Python, мне понадобилась 32-разрядная установка cx_freeze. Мне кажется странным, но сейчас он работает. Спасибо за помощь, в любом случае. –

2

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

  • Win7 64-битных ОС
  • 64-разрядные питона 2.7.3 (от python.org)
  • cxfreeze 4.3 для Win 64-бит + Python 2.7 (от http://cx-freeze.sourceforge.net/)

После некоторого расследования выясняется, что все сценарии, которые были установлены с помощью cxfreeze ра ckage в мой каталог 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), и я не изменял местоположение установки.

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

  • Нет связанных вопросов^_^