Python开发环境配置常见命令与错误处理

本文档详细介绍了Python环境的配置,包括pip版本更新、MongoDB服务的启动与配置、环境变量刷新等操作。同时,针对遇到的警告与错误,如无效的分布包、tesserocr安装失败、RuntimeError及pyspider的async关键字问题,提供了详细的解决步骤和方案,包括更换下载源、使用whl包安装、修改源代码等。此外,还提及了Hyper-V的安装方法。
摘要由CSDN通过智能技术生成

一、命令

1.pip版本更新

python37.exe -m pip install --upgrade pip
python -m ensurepip #安装pip

2. 禁用Chrome自动更新

win+R输入msconfig,打开系统配置,去除勾选:
系统配置
禁用成功,则如下图所示:
禁用Chrome自动更新

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即可。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值