Bu ilk aldığınız hatayla aynı
driver = webdriver.Firefox(executable_path=driver_path)
Bu şekilde yazdığınıza emin misiniz?
Demekki 32 bit ile 64 bit arasında fark yok demektir
sistem 32 diye 32 bit olanını indirdim
kodlarıda burda ve geckodriver masaüstünde
from selenium import webdriver
import time
driver = webdriver.Firefox(executable_path="/home/tuncay/Masaüstü/geckodriver/")
time.sleep(5)
driver.quit()
Bulunan ama executable olmadigi icin calistirilamayan dosyanin konumuyla niye bu kadar ugrastiginizi anlayabilmis degilim.
Distronun resmi paketi demek istedim. Linklenen thread’de de bahsediliyor.
Sunu da denememis kimse anlasilan. Deneyip dosyanin calistirilabilir olup olmadigini gorseydiniz keske Python’a gostermeye ugrasmadan.
Başlarda aldığı hata dosyanın yolu ile alakalıydı. İndirdiği dosya executable. Dosyanın yolu bulunduktan sonra aldığı hata Exec format error
. Bu hata inen dosyanın executable olmadığı anlamına gelmiyor.
Aklıma gelen bir baska ihtimal, muhtemelen indirilen geckodriver sürümünün, yüklü olan mozilla sürümüyle uyuşmuyor olabileceği.
Mesela v0.26.0 için şöyle bir ifade var.
Note that with this release the minimum recommended Firefox version
has changed to Firefox ≥60.
Hepinize teşekkür ederim ortada hiçbir neden yokken çalıştı
Ne yaptınız da çalıştı? Ayrıca son yazdığım mesaj çözüm değilse onu çözüm olarak işaretlemeyin.
Aslına bakarsanız sadece Ubuntuyu 18.04 sürümüne güncellemek oldu
Peki, kolay gelsin o zaman.
Teşekkür ederim yardımlarınız için
Aslinda geliyor:
ENOEXEC
An executable is not in a recognized format, is for the wrong architecture,
or has some other format error that means it cannot be executed.
Benim hatam, “sistemde calistirilamayacak bir executable formatinda” diye acik acik yazmam lazimdi. Ama ikinci cumlede yazdigimi gorup, calistirmayi deneyip, calistirilamadigini gorursunuz diye dusundum.
Ubuntu update’iyle cozulduyse ucuncu cumlede yazdigim Ubuntu resmi paketleriyle mi calisti?
@Wormer_King’in kullandığı işletim sisteminde çalıştırılamayan bir executable vardı, yoksa o dosyayı bende indirdim ve çalışıyordu. Dolayısıyla aklıma ya yolda bir sıkıntı var ya da sürüm uyuşmazlığı var geldi. Ama ne hikmetse anlamadığım bir şekilde Ubuntu 16.05 sıkıntı çıkartmış. Yani executable
dosyanın belli bir sürümü bazı işletim sistemlerinde çalışmıyor olabilir sonucunu çıkarttım bundan.
Benim için sıradan Ubuntu sorunu
Herzaman başıma gelir
Evet, bir sure var olan her isletim sisteminde cikan bir sorun: formatlar, mimariler degisiyor. Linux’un avantaji cogu sey ozgur yazilim oldugu icin degisen formatlara, mimarilere tekrar derlenebiliyor.
Exe’yi yanlis mimari icin indirince boyle bir hata cikabiliyor. (Hatta farkli libc’ye linklenmis exe’ler de benzer/ayni hata cikartiyordu sanirim). “Indirilen exe Windows exe’si olsaydi da ayni sey olurdu” diyecegim ama benim sistem Windows exe’lerini de calistiriyor .
@Wormer_King: uname -mpi
(hatta uname -a
) ne diyor?
yazdığınız bir program sayesinde mi çalıştırıyorsunuz, yoksa wine
mı kullanıyorsunuz?
Wine, ama ilgincligi binfmt
'de. Kendini MZ
'ler icin interpreter olarak tanimlayip dogrudan execve(2)
ile calistirilabilmelerini sagliyor.
Bu son dediğinden bir şey anlayamadım Orhan kardeşim.
i686 ve Linux tuncay-Aspire-ES1-531 4.4.0-148-generic #174-Ubuntu SMP Tue May 7 12:19:28 UTC 2019 i686 i686 i686 GNU/Linux
diyor
x86; “her zaman basima gelir” deyince tahmin ettim: 32-bit.
Distro’lar yavas yavas desteklerini cekmeye basladilar. (Hatta Ubuntu cekmemis miydi?)
Peki sanırım 64 bit yapmanın bir yolunu bulmam gerekiyor
kaynak öneren