一、命令
1.pip版本更新
python37.exe -m pip install --upgrade pip
python -m ensurepip #安装pip
2. 禁用Chrome自动更新
win+R输入msconfig,打开系统配置,去除勾选:
禁用成功,则如下图所示:
3.pip安装与卸载包
pip install requests #安装
pip uninstall requests #卸载
4.pip更改下载源地址
pip install pip -U -i https://pypi.tuna.tsinghua.edu.cn/simple #更新pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple #更换源
5.运行MongoDB服务
cd命令进入MongoDB安装目录的bin目录下,执行:
mongod --dbpath "D:\Program Files\MongoDB\Server\5.0\data\db"
6.将MongoDB配置成系统服务
mongod --bind_ip 0.0.0.0 --logpath "D:\Program Files\MongoDB\Server\5.0\log\mongod.log" --logappend --dbpath "D:\Program Files\MongoDB\Server\5.0\data\db" --port 27017 --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install
7.tesserocr命令行测试
tesseract image.png result -l eng #输出文本到result.txt
tesseract image.png stdout -l eng #直接输出
8.win10安装Hyper-V
新建Hyper-V.cmd,内容如下:
pushd “%~dp0”
dir /b %SystemRoot%\servicing\Packages*Hyper-V*.mum >hyper-v.txt
for /f %%i in (‘findstr /i . hyper-v.txt 2^>nul’) do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
以管理员身份执行该脚本,输入y重启即可。
9.刷新环境变量
方法1: 重启电脑刷新(永久性更新)
方法2: 命令行刷新(临时性更新,即内存更新)
echo %tessdata_prefix% #查看环境变量值
set tessdata_prefix=D:\Program Files (x86)\Tesseract-OCR\tessdata #设置环境变量值
二、警告与错误
1.WARNING: Ignoring invalid distribution -ip (d:\program files\python38\lib\site-packages)
原因:之前下载库的时候没有成功或者中途退出。
解决方法:到提示的目录site-packages下删除ip开头的目录ip和~ip-21.1.1.dist-info,然后pip重新安装库即可。
2.tesserocr安装失败
tesseocr是Python的一个OCR识别库,但其实是对tesseract做的一层Python API封装,所以它的核心是tesseract。因此在安装tesserocr之前,要先装tesseract。
pip安装报错,原因分析:因为Python装的3.8版本,tesserocr最多支持到3.7。
于是卸载3.8,安装3.7,进行pip安装依旧报错:Failed to extract tesseract version from executable: [WinError 2] 系统找不到指定的文件。
猜测:可能使用的清华下载源没与对应安装包。
于是,用whl格式的安装包解决这个问题,下载地址为
https://github.com/simonflueckiger/tesserocr-windows_build/releases
下载Python对应whl包安装,成功。
配置安装路径到系统环境变量Path。
增加系统变量TESSDATA_PREFIX,3.7值为安装路径\tessdata,3.8值为安装路径。
3.RuntimeError: Failed to init API, possibly an invalid tessdata path: D:\Program Files\Python37/tessdata/
需要把Tesseract安装目录下的tessdata文件夹拷贝到Python安装目录。
4.pyspider中async关键字问题
pyspider安装完成后,发现无法使用pyspider all命令。
最后一句出现
File “…\python37\lib\site-packages\pyspider\run.py”, line …
async=True, get_object=False, no_input=False):
SyntaxError: invalid syntax
我的python版本是3.7,经过在百度上查找以后,发现是 async和await从 python3.7 开始已经加入保留关键字中. 参考: What’s New In Python 3.7, 所以async不能作为函数的参数名.
安装pyspider后运行pyspider all命令,提示语法错误,百度后知道是pyspider中把async设置为关键字了,而python3.7版本恰恰也把它设为关键字了。
但在github上面,pyspider已经针对此问题进行了更新,把async关键字替换成了async_mode.
打开python安装目录文件夹下的lib\site-packages\pyspider文件夹里的run.py,发现里面仍然使用的是async关键字。
解决方法:
把pyspider文件夹里的各个py文件里的async全部手动替换成async_mode。
5. File “…\python37\lib\site-packages\pyspider\webui\app.py”, line 64, in run from werkzeug.wsgi import DispatcherMiddleware, ImportError: cannot import name ‘DispatcherMiddleware’ from ‘werkzeug.wsgi’
官网文档:https://werkzeug.palletsprojects.com/en/2.0.x/changes/#version-2-0-0
解决方案:
将app.py中import DispatcherMiddleware前的werkzeug.wsgi全部改成werkzeug.middleware.dispatcher即可。