2012-10-09 11 views
8

Son zamanlarda bir python 3.2.2 exe dosyası oluşturmak için cx_freeze kullanılır. Exe dosyasını çalıştırmaya çalıştığımda hiçbir şey olmadı. yapılan cx_freeze inşa dizini adında bir klasör vardırcx_freeze ile python exe dosyası oluşturduktan sonra dosya hiçbir şey yapmıyor

from cx_Freeze import setup, Executable 

exe = Executable(
    script="test.py", 
    base="Win32GUI", 
    targetName="Test.exe" 
    ) 


setup(
    name = "Test", 
    version = "0.1", 
    description = "I wish programming was this easy", 
    executables = [exe]) 

: Burada

print("hello world") 

for i in range(5): 
    print(i) 

benim testSetup.py dosyası için kod şudur: Burada

benim test.py dosyası için koddur exe.win32-3.2 dosyaları vardır ki:

bz2.pyd
python32.dll 0
library.zip Test.exe
unicodedata.pyd

+0

Bu .exe'yi tıklatarak bazı komut istemi açmış olmalıyım? –

+0

Bunu bir windows bilgisayarından yapıyorsanız, o zaman [p2exe] (http://py2exe.org/) çok daha kolay – inspectorG4dget

+0

bir komut istemi açmadı. –

cevap

3

Place kodunuzun altındaki input() ve yeniden deneyin:

senin .exe çalışır gibi görünüyor ve bunu bir input() yerleştirin şey görmeden önce var komut dosyası çıkmadan önce kullanıcı girdisini beklemek için altta.

print("hello world") 

for i in range(5): 
    print(i) 
input() 
+1

Kodumun dibine input() koydum ve onu çalıştırdım, ancak sonra bir hata attı: Geri tepme modülü alınamıyor. İstisna: Yeniden adlandırılan modül yok Orijinal Özel Durum: input(): lost sys.stdin –

+0

@SnakeP bkz http://stackoverflow.com/questions/5603287/exe-error-with-cx-freeze –

+0

@AshiwiniChuadhary Ne yaptım Bağlantı yapılacağı söylenir, ancak daha sonra girdi nedeniyle bir hata attı. Sonra giriş satırını kaldırdım ve hiçbir şey yapmayacak ya da komut istemi onu görmek için çok hızlı kaybolacak. –

17

Benim önerim:

  1. set base = None (bunu deneyin: belki istediğin hepsi base = Win32GUI "gizlemek" konsol yapar - Bir GUI bina bittikten sonra bu yararlıdır?)

0123: En .exe aynı klasörde
  • bir toplu-dosya (.bat olan bir metin dosyası) arayıp .exe yapmak

    Bu toplu dosyasına girer:

    name-of-your-app.exe %1 
    
    PAUSE 
    

    Toplu dosyası tıklayarak uygulamanızı başlayacağız - bu kamış için hatalar/çıkış mümkün olacaktır böylece açık konsolu tutar.

  • +0

    stackoverflow için yeni Ben aynı anda bir kez ayarla = Yok, .exe konsolda yazdırmaya başladı. –

    İlgili konular