昨天按照大佬的代码,做了一个微信全家福的图片,后面好多人问我是怎么做的,索性我就出个详细的教程吧,我python也是三脚猫功夫,有不对的地方,还请各位大佬手下留情。
先看看成果吧
既然是用python来实现的,那么就需要安装python。
我的环境是 win10 64位 python 3.7
这是我的安装目录
怎么安装python?
可以通过python官网下载:https://www.python.org/
我后面把这次试验的软件和运行库都打包了的
备注:如果通过python-V没有检查到版本,那基本是没有做环境变量
win10下python环境变量设置
安装之后配置环境变量的步骤如下:
1,点“我的电脑”,右键选“属性”
2,选择“高级系统设置”--->选“环境变量”--->在“系统变量”中选中“Path”,再点“编辑”--->再点“编辑文本”
3,在“变量值”一栏,把自己所安装的python路径拷进去就可以了,我安装的路径是“C:\Python3.7”
注意:在拷贝路径“C:\Python3.7”时,前面要加分号
;
还要注意,分号一定是英文输入法里的分号,我刚开始没有注意到这一点,导致在命令行里输入python命令时,总是失败,会提示‘python’不是内部或外部命令,也不是可运行的程序或批处理文件
若遇到“'pip' 不是内部或外部命令,也不是可运行的程序或批处理文件时”
python: can't open file 'pip': [Errno 2] No such file or directory
我看了下site-packages的pip和pip-1.2.1-py2.7.egg-info中,都没有pip.py或pip.exe之类的。
并且,此路径也没加到PATH中去,所以没法运行,也是正常的。
但是为何官网教程,竟然会这么写,很是奇怪。
解决方法:添加对应的环境变量
1、问题
cmd进去输入
pip install itchat
提示我:'pip' 不是内部或外部命令,也不是可运行的程序。
2、原因
问题的原因是我本机没有安装pip
3、方法
- 首先到https://pypi.python.org/pypi/pip#downloads 下载pip包
- 解压到一个文件夹,用CMD控制台进入解压目录,输入:
python setup.py install
- 执行完之后再输入:
pip install itchat 以及 pip install pillow
【总结】
无论何时,在cmd中出现了:
不是内部或外部命令,也不是可运行的程序或批处理文件。
的错误,那都是没有找到对应的可执行程序,所以:
要么是本身系统中的确没有此种可执行程序 -> 下载或安装此种程序,再记得确保PATH中包含对应路径。
要么是有此程序,但是PATH中没有包含对应的路径 -> 添加对应的路径到PATH中即可。
到这一步,环境差不多就配置OK了,接下来修改代码,我再贴下代码吧
# 导入itchat用于登录微信,导入math用于计算图片大小 # 导入PIL用于图片修剪和拼接, 导入os用于获取下载的图片信息 import itchat import math import PIL.Image as Image import os # 修改filepath为指定的目录 filepath = "C:\Python3.7\img" # 登录,如果你是Windows,用下面这行代码,然后注释Linux itchat.auto_login() # 如果你用的是Linux,用下面这行代码,然后注释Windows # itchat.auto_login(enableCmdQR=1) # 读取好友 friends = itchat.get_friends(update=True)[0:] user = friends[0]["UserName"] # 获取好友头像 num = 0 for i in friends: img = itchat.get_head_img(userName=i["UserName"]) fileImage = open(filepath + "/" + str(num) + ".jpg","wb") fileImage.write(img) fileImage.close() num += 1 # 利用os.listdir从文件路径中读取存放的图片 ls = os.listdir(filepath) # 根据分辨率,定义图片大小 each_size = int(math.sqrt(float(640*640)/len(ls))) lines = int(640/each_size) image = Image.new('RGB',(640,640)) x = 0 y = 0 # 修改源图片尺寸,并拼接 for i in range(0,len(ls) + 1): try: img = Image.open(filepath + "/" + str(i) + ".jpg") except IOError: print("Error") else: img = img.resize((each_size, each_size), Image.ANTIALIAS) image.paste(img, (x * each_size, y * each_size)) x += 1 if x == lines: x = 0 y += 1 # 保存图片 image.save(filepath + "/" + "all.jpg") # 用文件助手发送到手机微信端 itchat.send_image(filepath +"/"+"all.jpg","filehelper")
代码也就两个地方需要修改,改好直接运行就行了
差不多就是这样。
源代码源自简书作者[罗罗攀].
- 最新
- 最热
只看作者