![](/img/trans.png)
[英]How to open Windows PowerShell as admin with Python using pynput
[英]Python on Windows: Cannot run freezed app using pynput - platform is not supported
在使用 cx_Freeze 6.10 的 Windows 11 的 64 位版本上,我試圖將 Python 應用程序凍結到 EXE 文件中,該應用程序在使用python AccessibleWindowSwitcher.py
運行時沒有問題。 但是,當我嘗試運行 cx_Freeze 生成的 AccessibleWindowSwitcher.exe 文件時,出現以下錯誤:
Traceback (most recent call last):
File "C:\Users\asamec\AppData\Local\Programs\Python\Python310-32\Lib\site-packages\cx_Freeze\initscripts\__startup__.py", line 113, in run
module_init.run(name + "__main__")
File "C:\Users\asamec\AppData\Local\Programs\Python\Python310-32\Lib\site-packages\cx_Freeze\initscripts\Console.py", line 15, in run
exec(code, module_main.__dict__)
File "AccessibleWindowSwitcher.py", line 6, in <module>
File "C:\Users\asamec\AppData\Local\Programs\Python\Python310-32\lib\site-packages\pynput\__init__.py", line 40, in <module>
from . import keyboard
File "C:\Users\asamec\AppData\Local\Programs\Python\Python310-32\lib\site-packages\pynput\keyboard\__init__.py", line 31, in <module>
backend = backend(__name__)
File "C:\Users\asamec\AppData\Local\Programs\Python\Python310-32\lib\site-packages\pynput\_util\__init__.py", line 76, in backend
raise ImportError('this platform is not supported: {}'.format(
ImportError
我用於通過python AccessibleWindowSwitcher.py
運行的 python 版本和凍結是 Python 3.10.5 32 位。
問題顯然出在 pynput 庫中,但我不知道只有在運行 EXE 文件時才會導致錯誤。
所以我找到了一個臨時解決這個問題的方法。 問題確實出在 pynput 庫中,由於某種原因,它無法導入一些平台相關的模塊。 該修復需要修改已安裝的 pynput 庫,因此將來更新 pynput 庫,例如使用pip install --upgrade pynput
會再次出現此問題。
keyboard
package的變化from pynput.keyboard import _win32
backend = backend(__name__)
並將其替換為行: backend = _win32
mouse
package的變化from pynput.mouse import _win32
backend = backend(__name__)
並將其替換為行: backend = _win32
在 macOS 或 Linux 上,執行與上述相同的步驟,但根據您的平台將“win32”的出現替換為以下內容:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.