我正在使用tkinter在python(3.4)中创建一个应用程序,并使用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,但仍然出现相同的错误。我验证了文件的路径并且它存在,所以我放弃该文件不存在。我还尝试在具有管理员权限的cmd中编译exe,但是它也没有给我解决方案。
有什么想法吗?
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)