Exe'ye Çevirdiğimde Çalıştıramıyorum

Python ile birkaç kütüphane kullanarak bir uygulama yapıp exe ye çevirdim fakat failed to execute script hatası veriyor. Programın içerisinde hata veren bir yer olmadığıne eminim herşeyi try except içine aldım bölüm bölüm ayrıca py olarak çalışıyor dosya. Lakin şöyle birşey yaptım: pyqt5 desinger ile bir dosya oluşturdum. Ekstra 2 dosyayı nasıl çevireceğimi bilmediğim için pyqt5 desinger ile oluşturulan dosyanın içeriğini aldım asıl dosyaya yapıştırdım. Ordaki sınıfı direk kullandım yani. Selenium kullanıyorum. Chrome driver için path belirtmedim ama belirttiğimde de çalışmadı. Kullandığım kütüphaneleri aşşağıa yazıyorum.

Burası desingerin dosyasından gelenler

from PyQt5 import QtCore, QtGui, QtWidgets

Burasoda benim kullandıklarım

from PyQt5.QtWidgets import (QWidget,

                            QApplication,)

from sys import exit,argv

from os import system,getcwd

from tkinter.messagebox import showinfo,showerror

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

from time import sleep

from threading import Thread

from requests import get

from bs4 import BeautifulSoup as bs

from firebase.firebase import FirebaseApplication'''

Programı komut satırında çalıştırıp aldığınız hatayı paylaşır mısınız?

exeyimi ??? ? ?

Traceback (most recent call last):
  File "cekilisci.py", line 623, in <module>
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "c:\users\ertu1\appdata\local\programs\python\python38\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 493, in exec_module
    exec(bytecode, module.__dict__)
  File "firebase\__init__.py", line 16, in <module>
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "c:\users\ertu1\appdata\local\programs\python\python38\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 493, in exec_module
    exec(bytecode, module.__dict__)
  File "gcloud\__init__.py", line 19, in <module>
  File "pkg_resources\__init__.py", line 480, in get_distribution
  File "pkg_resources\__init__.py", line 356, in get_provider
  File "pkg_resources\__init__.py", line 899, in require
  File "pkg_resources\__init__.py", line 785, in resolve
pkg_resources.DistributionNotFound: The 'gcloud' distribution was not found and is required by the application
[13952] Failed to execute script cekilisci

C:\Users\ertu1\Desktop\çekiliş\dist\cekilisci>

bi ara firebase kurduğumda hata vermişti pip te tüm kurulu kütüphaneleri kaldırdım geri tek tek elle yükledim. Firebase kütüphanesinin de init dosyasında değişiklikler yaptım. mesela from python.jwt import jwt diyordu. python.jwt bulunamadı dedi pip install jwt yazarak indirdim ve o satırı import jwt olarak değiştirdim

veya sadece import edilip başka yerlerde kullanılmamış kütüphanelerin import satırlarını sildim

Python3.8 henüz pyinstaller desteklemiyor diye biliyorum. Python3.7 ile deneyin isterseniz.

peki 3.7 ye çektiğimde tüm paketleri baştan mı kurmam gerekecek ? birde sürüm düşürdüğümde eski sürümün özellikleri kalıyor sanırım. sağ tıklayıp edit with idle diyince önceki sürümde çıkıyor orada onları nasıl düzelticem

Evet, tüm paketleri baştan kurmanız gerekecek.

Idle kullanmadığım için idle konusunda size yardımcı olamıyorum.

pekala teşekkür ederim tekrar deneyeceğm olursa geri bildirim vereceğim

3.6.4 yükledim. tüm paketleri kurdum. firebaseyi çıkarana kadar yine düzelmedi fakat firebaseyi kullanmam lazım. Ne zaman içeri aktarsam daha import ederken sıkıntı yaşıyorum. Direk failed to execute error hatası veriyor

Firabase kütüphanesinin dosyalarını, oluşan dist klasörünün içine atmayı bir deneyin.

Sürüm düşürmüyorsunuz, iki farklı sürüm indirmiş oluyorsunuz.

Eski sürümü silin.

Şuna bakarak kodunuzu düzenleyebilir misiniz?

site packages içindeki 2 tane asıl klasörü olduğu gibimi ?

Evet, olduğu gibi dist'in içine atıp exe dosyasını çalıştırmayı deneyin.

Peki programı tek dosya olarak çalıştırmak istersem ne yapacağım ? Pyinstallerde exeye çevirirken --onefile kullanmam gereken durumlar olacak. O durumda alternatif yapabileceğim birşey yok mu ?

Bir exe nin başlangıç klasöründe olması gerekecek

Uygulamanın kısayolunun koyulması yeterli.

Kısayol koyarsak uygulamanın çalıştığı konum, kısayolun çalıştığı konum olarak algınlanmaz mı ?