2013-04-04 23 views
6

Projem için setuptool's bdist_wininst kullanarak bir kurulum EXE yapıyorum. Ancak, ben aslında bir Win7-64bit makine w/Python 2.7.3 üzerinde belirtilen yükleyiciyi çalıştırdığımda, şu gibi görünen bir Çalışma Zamanı Hatası aldığımı buldum: http://i.imgur.com/8osT3.jpg. (python-2.7 64-bit'e karşı sadece 64 bit yükleyici; 32-bit bir (python2.7 32-bit üzerinde) iyi görünüyor) Tamam'ı tıklayabilirim ve yükleyici tamamlanır, ancak bu kesinlikle son kullanıcılara kötü gözüküyor.Kurma sırasında setup.py bdist_wininst ile oluşturulan Windows Installer RuntimeError'ı tetikler. Bunu nasıl düzeltirim?

Herhangi bir fikir nasıl çözülür?

+0

Sadece clairify için, Py2.7.3 + Win6_64bit çalışmaz. Py2.7.4 + Win7_32bit çalışır? Çalışma zamanı kitaplıklarını doğru bir şekilde sınırlamadığınızı sanıyorum. Eşyalarınızı nasıl paketliyorsunuz? – Torxed

+0

Ben exe üreten ubuntu Linux 12.10 üzerinde bdist_wininst ile paketleyin. Distutils kodu (command/bdist_wininst.py), sadece (wininst-9.0.exe ve wininst-9.0-amd64.exe) stub yükleyicilerine bilgi (bkz. Create_exe) ekler ve /usr/lib/python2.7/distutils/ dosyasında bulunur. komutu). Ben doğru exe (python2.6 + ile hata) kullanmak için kod biraz maymun yama olduğunu unutmayın. – UsAaR33

+0

Merak etme, gerçek bir pencere makinesinde her şeyi sınırlamaya çalıştın mı? Tüm sorunun nedeni, orijinal kaynağın bir windows yükleyicisinin ihtiyaç duyabileceği ve paketin tamamlanmadığı birçok dll eksikliğinden korkuyorum. – Torxed

cevap

1

Belki Visual C++ Yeniden Dağıtılabilir Paketi eksik veya bozuk, Microsoft Visual C++ 2008 SP1/2010 Yeniden Dağıtılabilir Paketi (x64) veya başka bir sürümü (yeniden) yüklemeyi deneyin.

+0

Özür dilerim; Orijinal soruda net değildim. EXE kurulumu, doğru bir EXE dosyasının bulunması gereken w/setuptool's bdist_wininst dosyasıdır. – UsAaR33

+0

O zaman yükleme exe inşa ederken yanlış bir bağımlılık var (belki bir yerde bir x86-x64 ayarı var mı yoksa doğru bir şekilde yapılandırmak gerekir msvcr {version [80/100]}/msvcp [80/100] dll). –

+0

Yine, EXE zaten var .. dağınıklıkların bir parçası olarak dağıtılır. Bdist_wininst komutu (ana yorumlara bakın) sadece veriyi ona ekler – UsAaR33

1

Belki de x64 için yürütülebilir dosyayı oluşturmanız gerekir? Bu çalıştırmak zorunda kalacak komut şöyledir:

python setup.py build --plat-name=win-amd64 

fazla bilgi burada bulunabilir:

http://docs.python.org/2/distutils/builtdist.html#cross-compiling-on-windows

+0

Bu seçeneği zaten kullanıyorum; Hangi EXE bdist_wininst şablonunun kullanması gerektiğini kontrol eder. Uzatma modülleri olmayan paketler (mayın gibi) için başka bir etkisi yoktur. – UsAaR33

İlgili konular