pip2 install PyChromecast
Kurma tamamlanmis olsa da import etmeye calistigimda hata aliyorum, module bagli alt paketlerden dolayi. Dolayisiyla kurulumun tam saglikli yapilamadigini farkediyorum. Okumalarimda bu durumu Python 2.7’de yasayan bircok kisi oldugunu goruyorum. Suradan ilgili konunun detaylarina erisebilirsiniz. Eger bu sorunu cozmeden cihaza baglanmaya kalkarsaniz ilgili paketler yuklu olmadigindan muhtemelen asagidaki hatayi alacaksinizdir.
AttributeError: 'Chromecast' object has no attribute 'status'
Onerilen cozum ise kullandigimiz pip versiyonu nu update etmek ki gercekten bunu yapip tekrar yuklemeye calistigimizda sorun kalmiyor import tarafinda da.
pip2 install --upgrade
Hemen USB uzerinden haberlestigim chromecast ile ilgili python modulu ile asagidaki kod ile haberlesmek istedim.Fakat malum sorunsuz ilerlemek cok zordur bu islerde. Ilgili kod normalde bagli olan cihazlarin isim listesini donmesi gerekirken -ki bir cihaz bagli- bos bir liste donuyordu. Yani bagli bir cihaz yok manasinda.
Sorunu pychromecast uzerinden arastirdigimda Windows senaryosunda pychromecast in bagli oldu zeroconf modulunun de bagli oldugu netifaces paketinin versiyon uyusmazligindan kaynaklandigini gordum. Bu durumu ayrintili okumak isterseniz suradan ve suradan bakabilirsiniz.
''' Created on 7 Jan 2017 @author: Ibrahim Ozturk @author: www.ozturkibrahim.com ''' from __future__ import print_function import time import pychromecast cast = pychromecast.get_chromecasts_as_dict().keys() print(cast) print("Program completed!")
Bunun cozumu icin de versiyon uyusmazligini cozme adina netifaces paketinin varolan versiyonunu kaldirip uyumlu versiyonunu yuklemeyi asagidaki gibi tamamladim.
pip2 uninstall netifaces pip2 install netifaces==0.10.4
Yukaridaki kodu degisiklik yapmadan tekrar denedigimde bu sefer chromecasti gordugunu ve cihaz adini gosterildigi gibi ekrana yansittigini gordum. 10-15 dakikalik zamanda ancak bu kadarlik bir paylasim yapabiliyorum. Umuyorum sonraki yazilarda API’nin icerisine girip uygulamalar yapmaya firsatim olur.