# 安装
# python版本推荐
2.7(应用都支持,但不维护了) 3.5(应用大部分支持,先学习新的,降低以后的学习成本) 3.8(应用跟不上,不建议)
# 下载地址
https://www.python.org/downloads/
# 目录
- python2.7.0 C:\Python27
- python3.5.0 C:\Users\ASUS\AppData\Local\Programs\Python\Python35
- python3.8.0 C:\Users\ASUS\AppData\Local\Programs\Python\Python38
# virtualenv管理不同python版本的虚拟环境
virtualenv -p C:\Users\ASUS\AppData\Local\Programs\Python\Python35\python.exe env 参考: https://www.linuxidc.com/Linux/2017-06/145169.htm
# 默认安装目录(Local)
C:\Users\ASUS\AppData\Local\Programs\Python\Python38\
# 数据文件(Roaming)
C:\Users\ASUS\AppData\Roaming\Python\Python38\
C:\Users\ASUS\AppData\Roaming\Python\Python38\Scripts\
# 安装版本:
https://www.python.org/downloads/release/python-380/
# 支持软件版本检测
py // 64位 import pip._internal;print(pip._internal.pep425tags.get_supported()); // 32位 import pip;print(pip.pep425tags.get_supported()); // 其他 import wheel.pep425tags;print(wheel.pep425tags.get_supported()); 参考: https://blog.csdn.net/IDzengkun/article/details/89310164
# 第三方包安装位置
C:\Users\ASUS\AppData\Local\Programs\Python\Python38\Lib\site-packages
# 新增python环境变量
C:\Users\ASUS\AppData\Local\Programs\Python\Python38
C:\Users\ASUS\AppData\Local\Programs\Python\Python38\Scripts\
# Python38-64位-执行命令:
py 或 python
# pip3
默认python程序包里,已包含:pip和pip3执行程序 设置python环境变量后,即可使用pip和pip3命令!
# 基础
# 安装第三方模块
- 安装命令:
pip3 install np - 安装目录:
E:\Install\Python\Python38-32\Lib
E:\Install\Python\Python38-32\Lib\site-packages
# 用国内镜像(豆瓣网)下载第三方模块
pip3 install [包名] -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
- 永久使用国内镜像
https://www.cnblogs.com/cqliu/p/11131092.html
https://www.cnblogs.com/meng9688/p/10216449.html - 配置目录:(前提:python非默认安装)
C:\Users\ASUS\pip\pip.ini - 验证是否成功使用镜像:
执行安装第三方模块时,控制台日志会输出:
Looking in indexes: http://pypi.douban.com/simple/
# pip3
- 查看pip3已安装的模块清单
pip3 list - pip3更新模块版本
pip3 install --upgrade module_name - pip3更新自身
py -m pip install --upgrade pip
# easy_install
- 安装
easy_install module_name - 卸载
easy_install -m module_name
错误写法:
easy_install module_name -m
# 查看python安装版本
python -V 或 py -V
显示:Python 3.8.0
# python自动安装第三方库(自动安装第三方包.py)
https://blog.csdn.net/oxgencui/article/details/84571271
# 插件
# 包管理器 —— pipreqs
https://www.cnblogs.com/LearningOnline/articles/9778495.html
- step1: 安装包管理器
pip3 install pipreqs - step2: 自动生成当前项目包依赖文件:requirements.txt
pipreqs ./ --encoding=utf8 --force - step3: 安装第三方包
pip3 install -r requirements.txt
# 包依赖文件
- 方法一:提供包依赖关系文件(requirements.txt)
pip install -r requirements.txt - 方法二:提供包依赖关系文件(setup.py)
python setup.py install
# venv(支持python3.3之上)
venv:Python 标准库内置的虚拟环境管理工具,Python 3.3 加入,Python 3.5 开始作为管理虚拟环境的推荐工具,用法类似 virtualenv。如果你使用 Python 3,推荐使用 venv 来替代 virtualenv。
弊端:
在Python3.3中使用”venv”命令创建的环境不包含”pip”,你需要进行手动安装。但是只有版本在3.3之上都没有问题啦
安装:
python -m evnv
激活该虚拟环境:
-windows进到目录里,的Script文件夹输入:activate
退出虚拟环境:
-deactivate
https://www.cnblogs.com/zhaof/p/7299025.html
# 隔离的虚拟环境包virtualenv(兼容性强)
- 安装virtualenv:
pip3 install virtualenv - 创建纯净虚拟环境:
virtualenv env
注:在当前目录创建名为 env 的虚拟环境文件夹
或 创建环境,继承原安装的模块(感觉纯净和非纯净,都一样!)
virtualenv --system-site-packages env - 你需要把这个文件夹名称加入 .gitignore 文件以便让 Git 忽略
- 激活虚拟环境:
env\scripts\activate - 退出虚拟环境:
deactivate - 删除虚拟环境:
直接删除虚拟环境所在目录即可 - 参考:
https://www.cnblogs.com/cloudrivers/p/11546155.html
# opencv-python
# API文档
http://www.opencv.org.cn/opencvdoc/2.3.2/html/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=drawcontours#cv2.drawContours
https://www.w3cschool.cn/opencv/
# 案例
链接:https://pan.baidu.com/s/1ZBN080qddu6Fz1tsvQqdOA
提取码:z9lz
教程视频:
https://www.bilibili.com/video/av59316056/?p=15&t=658
# 资源
# python的第三方包库
https://pypi.org/
# 问题
# pip版本过低,需要更新pip:
python -m pip install --upgrade pip
# pip坑
https://www.cnblogs.com/fengzifengfeng/p/10744706.html
# pip更新:Requirement already up-to-date
- 解决:
- 在虚拟环境下,将pip-18.0.dist-info目录删除
- 继续在虚拟环境下重新更新pip
python -m pip install --upgrade pip
- 参考:
http://www.freesion.com/article/888954596/
# Python虚拟环境下pip,python错误地引用全局环境
https://blog.csdn.net/qq_40965177/article/details/85993254
解决:
https://blog.csdn.net/qq_28702661/article/details/82592874
# opencv-python、cv2
方法一:
- 在https://pypi.org/project/opencv-python/#files下载:opencv_python-4.1.1.26-cp35-cp35m-win_amd64.whl (39.0 MB)
- 新建一个“opencv”文件夹,将下载文件(opencv_python-4.1.1.26-cp35-cp35m-win_amd64.whl)放于其中
- 在'opencv'目录下,shift+右键,打开命令行:
pip install opencv_python-4.1.1.26-cp35-cp35m-win_amd64.whl
文件:
参考:
https://blog.csdn.net/qq_23981335/article/details/80545839
关键网址:
https://pypi.org/project/opencv-python/#files
- 方法二:
手动下载cv2包,解压后将cv2.pyd放到site_packages的目录下,下载地址:https://pypi.python.org/pypi/cv2-wrapper/0.1
参考:
https://www.cnblogs.com/syw20170419/p/8418302.html
# python2.x版本:“UnicodeEncodeError: 'ascii' codec can't encode character u'\u258c' in position 8: ordinal not in range(128)”
解决方法:
在site-packages文件里,新建文件sitecustomize.py
参考:
https://www.bbsmax.com/A/VGzlNYXw5b/
# pip-install-kaacq2\numpy\
Python version >= 3.5 required
# (-215:Assertion failed) npoints > 0 in function
- 原因:
opencv的findContours兼容性 - 解决方法:
contours = contours[0] if imutils.is_cv2() else contours[1]
imutils.is_cv2()是返回False即使它应该返回True。如果您不介意删除此依赖项,请更改为:
contours = contours[0]
我找出原因了。您关注的教程可能是在OpenCV 4发布之前发布的。OpenCV 3更改cv2.findContours(...)为return image, contours, hierarchy,而OpenCV 2cv2.findContours(...)和OpenCV 4的cv2.findContours(...) return contours, hierarchy。因此,在使用OpenCV 4之前,可以正确地说,如果您使用OpenCV 2,则应该使用contours[0]else contours[1]。如果您仍然希望拥有这种“兼容性”,则可以更改为:
contours = contours[1] if imutils.is_cv3() else contours[0] - 参考:
https://stackoverflow.com/questions/54734538/opencv-assertion-failed-215assertion-failed-npoints-0-depth-cv-32
# 调试
# 调试位置
https://www.v2ex.com/amp/t/375159
# lauch.json设置参数
https://www.cnblogs.com/xbit/p/10060817.html { // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Python: Current File (Integrated Terminal)", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal", "args": [ "--config", "configs/example.json" ] }, ..... 重点: "args": [ "--config", "configs/example.json" ]