2016-04-06 26 views
0

python udf kodunu pydev içinde excel ile aynı ana bilgisayarda hata ayıklamak istiyorum. official doc numaralı telefondan baktım, ancak konsepti alamadım ya da çalışmasını sağlayamadım.xlwings - pydev eclipse'de uzak hata ayıklama udf

if __name__ == '__main__': 
    xw.serve() 

Doküman ayrıca diyor ki: belgenin gereği benim UDF'ler modülün sonunda bu satırları koyduk kullandığınız IDE hangi bağlı

, sen şeyler çalıştırmak isteyebilirsiniz (örneğin durumda senin pycharm veya Pydev kullanarak) “ayıklama” modu: Ben 'koşmak şeyler' yukarıda ne anlama geldiğini anlamıyorum

.

  1. Pydev ayıklama Sunucusu
ek işleme:

Ayrıca, uzaktan ayıklama için Pydev talimatlarına uygun olarak, tek bir Eclipse aşağıdaki menü düğmesi (ler) birini kullanmak zorundadır bir f ihtiyacı hangi tüm adımlar olarak

import pydevd 
pydevd.settrace() 

Kafam karışık:

ve bu kodu ekleyin pydev'de uzaktan hata ayıklama için bir boşluk. Herkes udf & pydev hata ayıklama adımları paylaşabilir miyim?

Pydev kazanıyor 64-bit ve excel 2007 (32-bit).

cevap

0

Xlwings ile, herhangi bir uzaktan hata ayıklamaya veya çalışan bir işleme gerek duymayacaksınız, bu nedenle settrace() gibi yeni bir kod eklemeniz gerekmez. Aslında, iyi olan şey standart hata ayıklamanın xlwings ile ve dolayısıyla herhangi bir IDE ile kutunun dışında çalışmasıdır.

VBA ayarlarında UDF_DEBUG_SERVER = True ayarlamalısınız. Ardından, Excel elektronik tablosunu yeniden hesapladığınızda, formüller size bir hata verecektir.

if __name__ == '__main__': 
    xw.serve() 

Bu satırlar COM sunucusu başlar:

Bu

şimdi sonunda bu içerir Python dosyasını çalıştırın gerektiği anlamına gelir. Eclipse'de, sadece Run > Run last launched'a isabet ederseniz, iyi çalışır, yani UDF'leri tekrar hesapladığınızda, PyDev'in Konsolunda kodunuzdan herhangi bir çıktı (baskı komutları gibi) görürsünüz. Bununla birlikte, kodun kesme noktalarında durmasını sağlamak için, Run > Debug Last Launched'u seçmeniz gerekir.