Я создаю приложение в python (3.4) с помощью tkinter и компилирую его с помощью pyinstaller. Фрагмент кода, который приводит к ошибке, таков:
client = paramiko.SSHClient()
known_hosts = open(self.resource_path("known_hosts")) # Linea 73
client.load_host_keys(known_hosts)
Ошибка выдается, когда я нажимаю на кнопку, которая выполняет эту часть кода, то есть приложение работает довольно хорошо. Ошибка такая:
Exception in Tkinter callback
Traceback (most recent call last):
File "tkinter\__init__.py", line 1538, in __call__
File "prueba.py", line 73, in aceptar
PermissionError: [Errno 13] Permission denied: 'C:\\Users\\Hernan\\AppData\\Local\\Temp\\_MEI124282\\known_hosts'
Я уточняю, что я его компилирую и запускаю в Windows 10.
Я пытался выполнить exe как администратор, но все еще выдавал ту же ошибку. Я проверил путь к файлу, и он существует, поэтому я отказываюсь от того, что файл не существует. Я также пытался скомпилировать exe-файл в cmd с правами администратора, но он также не дал мне решения.
Есть идеи?
PD: добавить код ...
def resource_path(self, relative_path):
""" Get absolute path to resource, works for dev and for PyInstaller """
base_path = getattr(sys, '_MEIPASS', os.path.dirname(os.path.abspath(__file__)))
return os.path.join(base_path, relative_path)