当前位置: 首页 > news >正文

【Python改变生活!】用pynput控制键盘鼠标!Mac如何卸载python?

正文之前

  • 环境:Mac OSX,系统10.12+
  • python版本:3.6 !!!切记!3.5是不行滴!
  • python pynput包安装命令: sudo pip3 install pynput
  • 写本文原因:昨晚没睡好,上午不打算头脑风暴了!等午睡之后再怼毕设,上午就玩玩这个,挺好的!

正文

大家一定要记得!如果你的py版本是3.5,那么你很可能遇到下面的情况:

localhost:~ zhangzhaobo$ pip install pynput
Collecting pynput
  Could not fetch URL https://pypi.python.org/simple/pynput/: There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:645) - skipping
  Could not find a version that satisfies the requirement pynput (from versions: )
No matching distribution found for pynput
复制代码

会告诉你,没有对应版本,因为py3.5貌似并不支持pynput?好吧,其实是支持的,但是我的电脑就是不行!!!很烦躁!!

所以果断卸载了3.5,然后安装上了3.6 !很多人就要问了,如何干净的卸载python3.5呢?有办法!

官方说明:https://docs.python.org/3/using/mac.html#getting-and-installing-macpython

A framework /Library/Frameworks/Python.framework, which includes the Python executable and libraries. The installer adds this location to your shell path. To uninstall MacPython, you can simply remove these three things. A symlink to the Python executable is placed in /usr/local/bin/.

简单来说就是

  • 删除 /Library/Frameworks/Python.framework

  • 删除 /usr/local/bin/ 下的 python 链接(symlink)

基本上,你只要删除所有带3.5的内容就ok!一个命令~ rm *3.5*

然后我因为当时先装了python3.6 再回过头来卸载3.5 所以没敢直接删除 /Library/Frameworks/Python.framework,反而是删除了这个:

把对应版本直接删掉就ok了!如果有残余那就随缘吧!大不了直接删掉重装好了,我也不用2.7,到时候全部删掉,再装一个3.6不就好了?

然后再执行这条命令即可:

这时候畅通无阻啊,你的画面跟我的肯定不一样的,我这是重复安装,你的应该是很多进度条的~

反正不管如何,肯定装的上了~

至于其他的问题,到时候再说,貌似Mac下还有个安全问题,哔了dog了 !!

下面是三个我现在在看的文档,顾名思义吧!

Handling the mouse 官方手册吧!

python实战===python控制键盘鼠标:pynput

Keyboard Listener for Mac using Python --Stackoverflow

正文之后

OK!其实我还没开始尝试呢!写完立马走一波!!

相关文章:

  • Docker 镜像、容器、仓库的概念及基本操作
  • 十分钟讲清楚大众对区块链的误解
  • 移动端适配问题解决方案
  • 每天一个linux命令(20):find命令之exec
  • 多张图片合成一张图片、兼容问题总结
  • git 配置多个账户
  • CentOS下安装php扩展exif
  • Alembic基本使用
  • 机器学习中特征的处理及选择
  • Prometheus Querying Function rate() vs irate()
  • 多线程基础篇(3)——初试锁
  • java获取文件列表,并按照目录的深度及文件名的拼音的升序排列
  • 爬虫大作业
  • 散列表解决冲突的办法
  • 访谈:摩尔定律后时代,看13位行业专家如何看量子计算机的未来?
  • Google 是如何开发 Web 框架的
  • 10个确保微服务与容器安全的最佳实践
  • echarts花样作死的坑
  • JavaScript 基础知识 - 入门篇(一)
  • js面向对象
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • Map集合、散列表、红黑树介绍
  • tensorflow学习笔记3——MNIST应用篇
  • vue的全局变量和全局拦截请求器
  • 闭包--闭包作用之保存(一)
  • 创建一种深思熟虑的文化
  • 关于使用markdown的方法(引自CSDN教程)
  • 官方解决所有 npm 全局安装权限问题
  • 马上搞懂 GeoJSON
  • 前端临床手札——文件上传
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 我这样减少了26.5M Java内存!
  • 终端用户监控:真实用户监控还是模拟监控?
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ​linux启动进程的方式
  • #WEB前端(HTML属性)
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (一)kafka实战——kafka源码编译启动
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (转)linux下的时间函数使用
  • (转)使用VMware vSphere标准交换机设置网络连接
  • ***测试-HTTP方法
  • ***详解账号泄露:全球约1亿用户已泄露
  • .NET BackgroundWorker
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • /etc/apt/sources.list 和 /etc/apt/sources.list.d
  • @param注解什么意思_9000字,通俗易懂的讲解下Java注解
  • @require_PUTNameError: name ‘require_PUT‘ is not defined 解决方法
  • [Android]竖直滑动选择器WheelView的实现
  • [BZOJ 3531][Sdoi2014]旅行(树链剖分+线段树)
  • [C++]四种方式求解最大子序列求和问题
  • [Deepin 15] 编译安装 MySQL-5.6.35