当前位置: 移动技术网 > IT编程>脚本编程>Python > pyautogui安装问题

pyautogui安装问题

2020年07月11日  | 移动技术网IT编程  | 我要评论

公司最近在研究RPA,于是我想整一个pyautogui试试。结果我怀疑我是全网遇到最多坑的人,先记一下这些坑的处理方法。我的环境是win10+py3.7+anaconda解释器

下载安装

pyautogui直接下载地址
最近pip问题很多,先考虑的是直接下载。
目前最新版本是0.9.50
点Download files,下载右侧的PyAutoGUI-0.9.50.tar.gz,解压后,进入解压目录执行python setup.py install,再用

import pyautogui

检查是否安装成功就行了。正常情况下这是最稳健的方法,但是出了问题就不知道哪里出事了,只能用回pip。

pip安装

就直接

pip install pyantogui

第一个问题是:

 ERROR: Command errored out with exit status 1:
   command: 'e:\anaconda3\python.exe' 'e:\anaconda3\lib\site-packages\pip' install --ignore-installed --no-user --prefix 'C:\Users\Admin\AppData\Local\Temp\pip-build-env-51nx2rxx\overlay' --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=40.8.0' wheel
       cwd: None
  Complete output (14 lines):
  Traceback (most recent call last):
    File "e:\anaconda3\lib\runpy.py", line 193, in _run_module_as_main
      "__main__", mod_spec)
    File "e:\anaconda3\lib\runpy.py", line 85, in _run_code
      exec(code, run_globals)
    File "e:\anaconda3\lib\site-packages\pip\__main__.py", line 23, in <module>
      from pip._internal.cli.main import main as _main  # isort:skip # noqa
    File "e:\anaconda3\lib\site-packages\pip\_internal\cli\main.py", line 5, in <module>
      import locale
    File "e:\anaconda3\lib\locale.py", line 16, in <module>
      import re
    File "e:\anaconda3\lib\re.py", line 143, in <module>
      class RegexFlag(enum.IntFlag):
  AttributeError: module 'enum' has no attribute 'IntFlag'
  ----------------------------------------
ERROR: Command errored out with exit status 1: 'e:\anaconda3\python.exe' 'e:\anaconda3\lib\site-packages\pip' install --ignore-installed --no-user --prefix 'C:\Users\Admin\AppData\Local\Temp\pip-build-env-51nx2rxx\overlay' --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=40.8.0' wheel Check the logs for full command output.

这是在安装关联的pymsgbox的时候出现的问题;解决方法下面再说
搞定pymsgbox后又出现了了第二个问题:

Using cached https://files.pythonhosted.org/packages/01/ed/56d4a369c6e18f6b239
d9ef37b3222ba308bfebf949571b2611ff7d64f1d/PyGetWindow-0.0.8.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\80237102\AppData\Local\Temp\pip-install-m1k3v484\pygetwindo
w\setup.py", line 13, in <module>
        long_description = fh.read()
    UnicodeDecodeError: 'gbk' codec can't decode byte 0xa2 in position 905: ille
gal multibyte sequence

Command "python setup.py " failed with error code 1 in C:\Users\Admin
\AppData\Local\Temp\pip-install-mv1k3848\pygetwindow\

这次是pygetwindow在作妖;
解决后又遇到了pillow的问题,这次错误太长不贴了。
经过摸索以后发现全都是版本的对应问题,PyautoGui版本太新,对应的其它三个包不能太旧;但是坑的地方就在这里,目前最新的pymsgbox(1.0.8)是有点问题的,然后最新的pillow搭配PyautoGui也有可能会卡死,在经过多次尝试以后,我建议使用如下的组合配置:

pip install pillow==7.1.0
pip install pymsgbox==1.0.6
pip install pygetwindow==0.0.8
pip install pyautogui==0.9.35

pillow版本应高于5.2.0,但最好不要用最新的7.2.0
pymsgbox最好不要用最新的1.0.8
pygetwindow的0.0.4和0.0.6有点问题,要么用最新,要么直接用0.0.1
pyautogui也用回以前的版本,不高于0.9.35比较稳定

这样就算成功安装了。此外pillow推荐一个豆瓣的源

pip install -i https://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com pillow

最后,我在网上浏览的时候,看到博主@xianyirenx 在安装过程中出现了一个warning,这是因为在安装过程中打开了fiddler,关掉就好,博客传送门

安装完成后,尝试一下import和一些简单指令

import pyautogui
# 获取鼠标位置和屏幕分辨率
currentMouseX, currentMouseY = pyautogui.position()
screenWidth, screenHeight = pyautogui.size()
print ("X轴:{},Y轴:{}".format(currentMouseX, currentMouseY))
print ("屏幕分辨率是{}*{}".format(screenWidth, screenHeight))

输出:

X轴:1214,Y轴:742
屏幕分辨率是1920*1080

关于pyautogui的教程网上有很多,这里不介绍了。pip pyautogui的坑主要在于几个包的版本对应问题,梳理好版本后就OK了,当然还是推荐直接下载安装。

本文地址:https://blog.csdn.net/IceelfLuo/article/details/107243988

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网