здесь новый кодер. Искали ТАК кучу и гуглили, но я в тупике.
Цель : создать сценарий, запускающий pipenv, и настраиваемого бота для twitch с помощью tkinter.
"""dbot_script.py"""
import subprocess
import tkinter as tk
import runpy
root = tk.Tk()
canvas1 = tk.Canvas(root, width=300, height=300)
canvas1.pack()
def activate_dbot():
subprocess.call([r'C:\Users\user\.virtualenvs\dbot-T1lnEOta'])
runpy.run_path(r'C:\Users\user\dbot\bot.py')
button1 = tk.Button(text='Activate dbot', command=activate_dbot, bg='brown', fg='white')
canvas1.create_window(150, 150, window=button1)
root.mainloop()
Ожидаемый результат: запускается pipenv, затем запускается интерфейс tkinter, который запускает бота.
Фактический результат: Появляется интерфейс Tkinter с кнопкой, никаких доказательств pipenv запуск шоу. Сообщение об ошибке: PermissionError: [WinError 5] Доступ запрещен в терминале.
Бот работает нормально, когда я запускаю:
pipenv run python bot.py
в командной строке, но когда я пытаюсь активировать его через интерфейс tkinter я получаю сообщение об ошибке, указанное выше. Я также пробовал запустить командную строку в режиме администратора.
Модуль, который я использую для подключения к twitch, - это twitchio, и у меня есть доступ к моему ключу oauth.
Полное сообщение об ошибке:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\user\AppData\Local\Programs\Python\Python37\lib\tkinter\__init__.py", line 1705, in __call__
return self.func(*args)
File "C:\Users\user\dbot\dbot_script.py", line 12, in activate_dbot
subprocess.call([r'C:\Users\user\.virtualenvs\dbot-T1lnEOta'])
File "C:\Users\user\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 323, in call
with Popen(*popenargs, **kwargs) as p:
File "C:\Users\user\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 775, in __init__
restore_signals, start_new_session)
File "C:\Users\user\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 1178, in _execute_child
startupinfo)
PermissionError: [WinError 5] Access is denied