• 【Mac系统】安装pykeybord和pymouse后导入仍然失败


    1、修改pykeyboard 的__init__ 文件,如下

    import sys

     
    if sys.platform.startswith('java'):
        from .java_ import PyKeyboard
     
    elif sys.platform == 'darwin':
        from .mac import PyKeyboard, PyKeyboardEvent
     
    elif sys.platform == 'win32':
        from .windows import PyKeyboard, PyKeyboardEvent
     
    else:
        from .x11 import PyKeyboard, PyKeyboardEvent
     
    2、导入pymouse后使用,提示“ No module named 'mac'”
    查看pymouse的__init__文件,89行

     解决:mac前面加上“.”

    pymouse的__init__文件内容:

    # -*- coding: iso-8859-1 -*-

    # Copyright 2010 Pepijn de Vos
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    # http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.

    """The goal of PyMouse is to have a cross-platform way to control the mouse.
    PyMouse should work on Windows, Mac and any Unix that has xlib.

    See http://github.com/pepijndevos/PyMouse for more information.
    """

    import sys
    from threading import Thread

    class PyMouseMeta(object):

    def press(self, x, y, button = 1):
    """Press the mouse on a givven x, y and button.
    Button is defined as 1 = left, 2 = right, 3 = middle."""

    raise NotImplementedError

    def release(self, x, y, button = 1):
    """Release the mouse on a givven x, y and button.
    Button is defined as 1 = left, 2 = right, 3 = middle."""

    raise NotImplementedError

    def click(self, x, y, button = 1):
    """Click the mouse on a givven x, y and button.
    Button is defined as 1 = left, 2 = right, 3 = middle."""

    self.press(x, y, button)
    self.release(x, y, button)

    def move(self, x, y):
    """Move the mouse to a givven x and y"""

    raise NotImplementedError

    def position(self):
    """Get the current mouse position in pixels.
    Returns a tuple of 2 integers"""

    raise NotImplementedError

    def screen_size(self):
    """Get the current screen size in pixels.
    Returns a tuple of 2 integers"""

    raise NotImplementedError

    class PyMouseEventMeta(Thread):

    deamon = True
    capture = False
    state = True

    def stop(self):
    self.state = False

    def click(self, x, y, button, press):
    """Subclass this method with your click event handler"""

    pass

    def move(self, x, y):
    """Subclass this method with your move event handler"""

    pass

    if sys.platform.startswith('java'):
    from .java_ import PyMouse

    elif sys.platform == 'darwin':
    from .mac import PyMouse, PyMouseEvent

    elif sys.platform == 'win32':
    from .windows import PyMouse, PyMouseEvent

    else:
    from .unix import PyMouse, PyMouseEvent

      

  • 相关阅读:
    Tips for C++ Primer Chapter 11 关联容器
    Tips for C++ Primer Chapter 10 泛型算法
    Tips for C++ Primer Chapter 9 顺序容器
    Tips for C++ Primer Chapter 8 IO库
    Trie Tree 字典树
    Manacher Algorithm 最长回文子串
    【Android Studio】android Internal HTTP server disabled 解决
    释放修改OS X 10.11系统文件权限【转】
    win10 Vmware12装mac os X10.11虚拟机教程
    【Android开发实践】android.view.InflateException: Binary XML file line #12: Error inflating class fragment问题解决
  • 原文地址:https://www.cnblogs.com/miracleflower/p/14805385.html
Copyright © 2020-2023  润新知