精华内容
下载资源
问答
  • 原标题:Python快速入门—如何选择使用包管理工具?源 | cnblogs文 | 包子在Python环境中已经有很多成熟的包,可以通过安装这些包来扩展我们的程序。例如,很多时候Python开发人员都会去PyPI网站去查找自己想要使用...

    原标题:Python快速入门—如何选择使用包管理工具?

    源 | cnblogs文 | 包子

    在Python环境中已经有很多成熟的包,可以通过安装这些包来扩展我们的程序。

    例如,很多时候Python开发人员都会去PyPI网站去查找自己想要使用的包,然后进行安装。PyPI ( Python Package Index)是获得第三方 Python 软件包以补充标准库的一个站点。

    在安装Python包的过程中,经常涉及到distutils、setuptools、distribute、setup.py、easy_install、easy_install和pip等等。

    突然对Python的包管理凌乱了,这些工具关系是什么,应该怎么去选择使用?

    下面就简单介绍下Python包管理相关的一些内容。

    Python包管理工具

    这么多的Python包管理工具,刚开始接触Python时会有点不知如何选择。其实,当查过Python的官方文档之后,慢慢就理清了这些工具之间的关系了,也就没有这么混乱了。

    下面就分别对Python中的包管理工具进行简单的介绍。

    distutils

    distutils 是 python 标准库的一部分,这个库的目的是为开发者提供一种方便的打包方式, 同时为使用者提供方便的安装方式。

    我们经常使用的setup.py就是基于distutils实现的,然后通过setup.py就可以进行打包或者安装了。

    看一个简单的例子,找一个目录创建三个文件foo.py、bar.py和setup.py,其中setup.py的内容如下:

    fromdistutils.core importsetup

    setup(

    name='fooBar',

    version='1.0',

    author='Will',

    author_email='wilber@sh.com',

    url='http://www.cnblogs.com/wilber2013/',

    py_modules=['foo', 'bar'],

    )

    然后,在该目录中运行 python setup.py sdist ,会得到以下输出,同时生成了一个"fooBar-1.0.zip"包。

    1f329578c3d541d0b9595f562ca80bd0.jpeg

    使用者就可以解压缩这个包然后执行 python setup.py install进行安装,然后就可以使用foo、bar这两个模块了:

    d3cba76a4b3841f4b6063fab9c9c8423.jpeg

    关于更过如何编写setup.py的内容,请自行参阅Python官方文档中的setup部分。

    setuptools 和 distribute

    setuptools 是对 distutils 的增强,尤其是引入了包依赖管理。我们可以通过ez_setup.py来安装setuptools。

    至于distribute,它是setuptools的一个分支版本。分支的原因是有一部分开发者认为 setuptools 开发太慢。但现在,distribute 又合并回了 setuptools 中,所以可以认为它们是同一个东西。

    前面看到setup.py可以创建一个压缩包,而setuptools使用了一种新的文件格式(.egg),可以为Python包创建 egg文件。setuptools 可以识别.egg文件,并解析、安装它

    easy_install

    当安装好setuptools/distribute之后,我们就可以直接使用easy_install这个工具了:

    1.从PyPI上安装一个包:当使用 easy_install package 命令后,easy_install 可以自动从 PyPI 上下载相关的包,并完成安装,升级

    2.下载一个包安装:通过 easy_install package.tgz 命令可以安装一个已经下载的包

    3.安装egg文件:通过 easy_install package.egg 可以安装一个egg格式的文件

    通过 easy_install --help 命令可以获取该命令相关的帮助提示:

    a2a1dbb1f220415bbde49ee017c022c4.jpeg

    根据上面的分析,可以看到setuptools/distribute和easy_install之间的关系:

    *setuptools/distribute 都扩展了 distutils,提供了更多的功能

    *easy_install是基于setuptools/distribute的一个工具,方便了包的安装和省级

    pip

    pip是目前最流行的Python包管理工具,它被当作easy_install的替代品,但是仍有大量的功能建立在setuptools之上。

    easy_install 有很多不足:安装事务是非原子操作,只支持 svn,没有提供卸载命令, 安装一系列包时需要写脚本。pip 解决了以上问题,已经成为新的事实标准。

    pip的使用非常简单,并支持从任意能够通过 VCS 或浏览器访问到的地址安装 Python 包:

    *安装: pip install SomePackage

    *卸载: pip uninstall SomePackage

    使用pip

    在大家使用Python中,推荐使用pip进行Python包管理,pip的安装和使用都比较方便。

    pip安装

    pip的安装有两种常用的方式:

    1.下载get-pip.py文件,然后执行 python get-pip.py 进行安装(如果没有安装setuptools,那么get-pip.py会帮忙安装)

    2.现在pip源码包,然后通过setup.py进行安装

    pip常用命令

    对于pip,最常用的肯定还是 pip --help ,通过帮助文档,就可以大概知道如何使用命令和参数。

    aca5229302b647329f8101188ae7b964.jpeg

    总结

    本文介绍了Python的各个包管理工具之间的关系,相信通过这篇文章的介绍,就不会再对distutils、setuptools、distribute、setup.py、easy_install、easy_install和pip等等名词感觉混乱了。

    大致了解这些Python包管理工具后,大家应该也清楚了怎么选择和使用。

    本文没有涉及如何制作并发布一个Python包,感兴趣的同学可以去Python官网上查查。

    原文链接:https://www.cnblogs.com/liangqihui/p/6895108.html

    -END-

    转载声明:本文选自「cnblogs」,搜索原文链接即可关注。

    长假无聊

    不如来学Python

    每天30分钟

    30天学会Python编程

    世界正在奖励坚持学习的人!返回搜狐,查看更多

    责任编辑:

    展开全文
  • 从官网下载安装好的python软件,即python解释器。启动python解释器的方法如下启动Python有两种方法。一种方法是从IDLE启动:python学习网,大量的免费python视频教程,欢迎在线学习!在开始菜单中,可以看到"...

    5d81e4ed742c9580.jpg

    从官网下载安装好的python软件,即python解释器。启动python解释器的方法如下

    启动Python有两种方法。一种方法是从IDLE启动:python学习网,大量的免费python视频教程,欢迎在线学习!

    在开始菜单中,可以看到"Python3.6.3”下面的"IDLE(Python GUI)”,打开IDLE窗口,如下:

    1565574196310829.png

    IDLE是一个Python shell。是一个通过键入文本与程序交互的途径,可以利用这个shell与Python交互。IDLE本身还是一个GUI(图形用户界面)。

    以上都只是在交互模式中单个的Python指令,通过这些指令可以查看Python能够做些什么,不过这些都不是真正的程序,如果只是在交互模式中键入指令,Python不会记住你键入的内容。IDLE提供了一个文本编辑器,可以从IDLE的菜单中选择FILE->New Window找到这个文本编辑器。

    1565574263554158.png

    标题栏显示Untitled,表示未命名,键入代码后,使用File->Save或者File->Save As菜单项保存这个程序,文件名末尾的.py部分是为了告诉你的计算机这是一个Python程序,而不是普通的文本文件。

    对于Python程序,IDLE编辑器会把Python关键字用橙色表示,引号中间的所有内容都显示为绿色。

    保存程序之后,可以选择按F5键或者选择Run->Run Module,即可运行程序。此时就会看到Python Shell窗口变为活动窗口。

    如果程序在运行过程中出现错误无法运行,可能会发生两种不同的错误:

    语法错误:这时运行程序前,IDLE会弹出一个类似"There's an error in your program:invalid syntax.’的提示。

    运行时错误:IDLE无法检查出错误,在运行时,shell中会提示错误信息,Traceback开头的代码行表示错误消息开始。

    第二种办法是在命令行启动python

    方法是win+r打开窗口,输入cmd进入命令行,输入python,回车,便进入了python环境。

    展开全文
  • 很多软件除了可以GUI方式操作外还可以用CLI接口操作,不过当一些软件未提供CLI接口时,我们应该怎么办呢?我们还可以用程序控制桌面上的窗口、模拟点击鼠标或按下键盘等动作来释放自己。pywin32是一个Python库,它为...

    前言

    在使用PC时与PC交互的主要途径是看屏幕显示、听声音,点击鼠标和敲键盘等等。在自动化办公的趋势下,繁琐的工作可以让程序自动完成。比如自动化测试、自动下单交易等。很多软件除了可以GUI方式操作外还可以用CLI接口操作,不过当一些软件未提供CLI接口时,我们应该怎么办呢?我们还可以用程序控制桌面上的窗口、模拟点击鼠标或按下键盘等动作来释放自己。

    pywin32是一个Python库,它为Python提供访问Windows API的扩展,提供了齐全的windows常量、接口、线程以及COM机制等等,安装后会自带一个pythonwin的IDE。接下来主要介绍下如何通过Python去操作windows桌面软件。

    1、打开软件或文件

    比如打开一个谷歌浏览器,或者打开一个word文件,如下所示:

    win32api.ShellExecute(1, 'open',

    r'C:Program Files (x86)GoogleChromeApplicationchrome.exe',

    '', '', 1)

    win32api.ShellExecute(1, 'open',

    r'C:UsersJayDesktopEnvironment Guider.docx',

    '', '', 1)

    win32api.ShellExecute()的参数主要包括:

    HWND:指定父窗口句柄

    Operation:指定动作, 譬如"edit",“explore”,“open”,“find”,“print”,“NULL”

    FileName:指定要打开的文件或程序

    Parameters:指定打开程序所需参数

    Directory:缺省目录

    ShowCmd:打开选项,可选值:

    SW_HIDE = 0; {隐藏窗口,活动状态给令一个窗口}

    SW_SHOWNORMAL = 1; {用最近的大小和位置显示窗口, 同时令其进入活动状态}

    SW_NORMAL = 1; {用当前的大小和位置显示一个窗口,不改变活动窗口}

    SW_SHOWMINIMIZED = 2; {最小化窗口,并将其激活}

    SW_SHOWMAXIMIZED = 3; {最大化窗口,并将其激活}

    SW_MAXIMIZE = 3; {同 SW_SHOWMAXIMIZED}

    SW_SHOWNOACTIVATE = 4; {用最近的大小和位置显示一个窗口,不改变活动窗口}

    SW_SHOW = 5; {用当前的大小和位置显示一个窗口,令其进入活动状态}

    SW_MINIMIZE = 6; {最小化窗口, 不激活}

    SW_SHOWMINNOACTIVE = 7; {同 SW_MINIMIZE}

    SW_SHOWNA = 8; {用当前的大小和位置显示一个窗口,不改变活动窗口}

    SW_RESTORE = 9; {同 SW_SHOWNORMAL}

    SW_SHOWDEFAULT = 10; {同 SW_SHOWNORMAL}

    SW_MAX = 10; {同 SW_SHOWNORMAL}

    执行成功会返回应用程序句柄, 如果返回值 <= 32,则表示执行错误。返回值可能的错误有:

    0―― {内存不足}

    2―― {文件名错误}

    3―― {路径名错误}

    11―― {EXE 文件无效}

    26―― {发生共享错误}

    27―― {文件名不完全或无效}

    28―― {超时}

    29―― {DDE 事务失败}

    30―― {正在处理其他 DDE 事务而不能完成该 DDE 事务}

    31―― {没有相关联的应用程序}

    2、查找窗体的句柄

    在win32编程的世界里,包括窗口到文本框的所有控件都是窗体,所有的窗体都有独立的句柄。要操作任意一个窗体,都需要找到这个窗体的句柄。句柄是一个32位整数,在windows中用于标记对象。比如查找Snipping Tool和New Text Document.txt的句柄,如下所示:

    para_hld = win32gui.FindWindow(None, "Snipping Tool")# 1836416

    para_hld = win32gui.FindWindow(None, "New Text Document.txt - Notepad")# 591410

    win32gui.FindWindow()属于win32gui的模块,它自顶层窗口(也就是桌面)开始搜索条件匹配的窗体,并返回这个窗体的句柄。该函数仅能查找主窗口,因此无法搜索子窗口,也不区分大小写,未找到则返回0。

    win32gui.FindWindow()的参数主要包括 (lpClassName=None, lpWindowName=None):

    lpClassName:字符型,窗体的类名,可以在Spy++里找到

    lpWindowName:字符型,窗口名,也就是标题栏上能看见的那个标题。

    2019710163928034.jpg?201961182715

    3、查找句柄的类名和标题

    比如通过Snipping Tool和New Text Document.txt的句柄查找对应的类名和标题,如下所示:

    title = win32gui.GetWindowText(1836416)

    classname = win32gui.GetClassName(1836416)

    print "windows handler:{0}; title:{1}; classname:{2}".format(1836416, title, classname)

    打印显示如下:

    windows handler:1836416; title:Snipping Tool; classname:Microsoft-Windows-Tablet-SnipperToolbar

    title = win32gui.GetWindowText(591410)

    classname = win32gui.GetClassName(591410)

    print "windows handler:{0}; title:{1}; classname:{2}".format(591410, title, classname)

    打印显示如下:

    windows handler:591410; title:New Text Document.txt - Notepad; classname:Notepad

    4、调用win32gui.EnumWindows()枚举所有窗口句柄

    直到最后一个顶层窗口被枚举则停止枚举过程。如下所示:

    hWndList = []

    win32gui.EnumWindows(lambda hWnd, param: param.append(hWnd), hWndList)

    print hWndList

    for hwnd in hWndList:

    title = win32gui.GetWindowText(hwnd)

    print title

    打印显示如下:

    [852802L, 65946L, 65928L, 65930L, 65900L, 65920L, 65924L, 65922L, 65944L, 65892L, 65886L, 6817870L, 65960L, 6031410L, …… 66052L, 65734L]

    ……

    New Text Document.txt - Notepad

    Snipping Tool

    DDE Server Window

    OfficePowerManagerWindow

    OfficePowerManagerWindow

    DDE Server Window

    GDI+ Window

    Global Internet Access

    ……

    5、win32gui.SetForegroundWindow()函数将指定窗体设置到最顶层,并且激活该窗口

    构造函数为:win32gui.SetWindowPos(HWN hWnd,HWND hWndlnsertAfter, int X,int Y, int cx,int cy, UNIT.Flags)

    关于win32gui.SetForegroundWindow(para_hld)报错的问题:

    pywintypes.error: (0, "SetForegroundWindow', "No error message is available')

    其实调用SetForegroundWindow()会有很多限制,参考官网的说明

    2019710163928035.jpg?201961182732

    因此调用SetForegroundWindow()时需要查看当前运行的条件是否符合上述要求,此处在调用SetForegroundWindow()前事先发送一个键盘event来解决该问题。

    例程如下所示:

    win32api.keybd_event(13, 0, 0, 0) #

    win32gui.SetForegroundWindow(para_hld)

    6、win32api.keybd_event()模拟键盘输入

    构造函数如下所示:

    win32api.keybd_event (bVk, bScan, dwFlags, dwExtraInfo)

    bVk:虚拟键码(键盘键码对照表见附录);

    bScan:硬件扫描码,一般设置为0即可;

    dwFlags:函数操作的一个标志位,如果值为KEYEVENTF_EXTENDEDKEY则该键被按下,也可设置为0即可,如果值为KEYEVENTF_KEYUP则该按键被释放;

    dwExtraInfo:定义与击键相关的附加的32位值,一般设置为0即可。

    按下enter键后抬起的例程如下所示:

    win32api.keybd_event(13,0,0,0) # enter

    win32api.keybd_event(13,0,win32con.KEYEVENTF_KEYUP,0) #释放按键

    7、模拟鼠标输入

    直接给出例程,如下所示:

    # 获取鼠标当前位置的坐标

    print win32api.GetCursorPos()

    # 将鼠标移动到坐标处

    win32api.SetCursorPos((100, 100))

    # 左点击

    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 100, 100, 0, 0)

    time.sleep(2)

    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 100, 100, 0, 0)

    8、关于鼠标键盘的操作还可以使用PyUserInput库

    PyUserInput是一个使用python的跨平台的操作鼠标和键盘的模块,使用非常方便。支持的平台及依赖如下:

    Linux - Xlib

    Mac - Quartz, AppKit

    Windows - pywin32, pyHook

    实例化一个鼠标和键盘对象,如下所示:

    from pymouse import PyMouse

    from pykeyboard import PyKeyboard

    m = PyMouse()

    k = PyKeyboard()

    操作鼠标和键盘,如下所示:

    m.click(190,70,1)#移动并且在xy位置点击

    time.sleep(2)

    m.click(190, 200, 1)#移动并且在xy位置点击

    time.sleep(2)

    k.tap_key(k.function_keys[5])#�C点击功能键F5

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    展开全文
  • 那么,python软件究竟怎么样呢?下面就一起来了解一下。python和行业当中的MATLAB相比较而言,MATLAB主要是专注于工程和科学计算,而python软件则是有着十分丰富的扩展库,通过该款软件,就可以更加轻松的将各种高级...

    对于广大的IT人士而言,这款软件一定是十分熟悉的了。使用了该款软件的用户都十分清楚,它实际上是一款跨越了平台的脚本语言类软件。那么,python软件究竟怎么样呢?下面就一起来了解一下。

    20200808081848486.png

    python和行业当中的MATLAB相比较而言,

    20200808081919590.png

    MATLAB主要是专注于工程和科学计算,而python软件则是有着十分丰富的扩展库,通过该款软件,就可以更加轻松的将各种高级任务迅速的完成了,特别值得一一提的是开发者还可以通过使用python软件,来轻松的对完整应用程序所需的各项功能进行开放。

    20200808081946994.png

    python软件在功能特色上面表现的也是十分出色的。首先,python软件是FLOSS自由/开放源码软件之一,由于其开源的本质,python软件已经被成功的移植在很多平台上;其次,python软件极易容易上手,因为python有着极其简单的说明文档;再次,python软件还有很庞大的标准库,它能够帮助处理各种工作,python软件还支持面向过程的编程,同时还支持面向对象的编程;除了标准库之外,还有很多高质量的库。

    那么,如何对python软件进行安装和使用呢?很简单,首先,用户在正规的软件下载网站对该款软件进行下载了之后,对安装包进行双击操作,选择install just for me,然后点击下一步,需要用户注意的是选择python软件的安装路径通常都是在C盘,用户也可以根据自己的实际需要来对路径进行选择,然后点击next下一步,并选择python所要安装的文件,默认全部安装,点击next,整个安装过程会持续几分钟时间,安装完成之后会有提示,用户只需要推出安装就可以了。

    更多下载体验,请前往QQ下载站:https://www.qqxiazai.com/

    展开全文
  • 建议直接用python编写一个网页服务器,然后就在本机用浏览器来使用。简单介绍一下这样做的好处:【1】python的桌面GUI模块都不太好用,比如pyQT需要额外安装很大的QT,tkinter则相关文档很少,而且对新的控件支持不...
  • Python是一种通用的计算机编程软件Python对程序员来说是一个非常有用的工具,它允许你快速地编写代码,并且我们使用软件做出的代码运行速度异常快,Python还具有别的软件不具有的突出点那么就是软件非常的好学清晰...
  • Python如何创建应用程序1、使用wxPython之前,先来了解两个基础对象:应用程序对象和顶级窗口。应用程序对象管理主事件循环,主事件循环是wxPython程序的动力,如果没有应用程序对象,wxPython应用程序将不能运行。...
  • 可以使用pyinstaller库来封装我们的python程序,从而实现这个需求。分享一个本蒟蒻的小小笔记(关于pyinstaller库),若有不足,欢迎在评论区指出。1.pyinstaller的安装方法pyinstaller需要在cmd下进行安装,安装...
  • 本章我们将让你在计算机上安装Python,之后你才能学习如何使用这种语言。还会让你在Python上执行一些指令,然后把一些指令集合在一起构成一个程序。安装Python 2.x安装Python是件非常容易的事,你可...
  • Python 怎么安装和使用呢? Python安装方式 我在学 Python 时用过两种安装方式: 第一种是安装 Python 软件(下载地址:Python 官网) + Atom 编辑器(也可以是VSCode 编辑器)。用 Atom 编辑器编写程序后,在 Python ...
  • 有鹿不闻:Python学习日记——写在前面​zhuanlan.zhihu.com在明确了学习目的、学习方向(转行方向)我们就可以学习具体的基础知识,刷一遍基础知识就可以使用第三方库,做一些爬虫、数据分析等项目,下面我具体说...
  • python爬虫简历怎么写?python爬虫简历如下:1. 基本信息求职岗位:Python爬虫工程师(全职)期望薪资:15000以上姓名:xx手机号码:xxxx邮箱:xxxx@qq.com毕业院校:厦门大学软件学院2.掌握技能1.Python中8种数据...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 473
精华内容 189
关键字:

python软件怎么使用

python 订阅