python3启动web服务引发的一系列问题汇总

作者:常乐_smile 时间:2022-10-31 09:11:58 

python3启动web服务引发的一系列问题

背景

在某行的实施项目,需要使用python3环境运行某些py脚本。
由于行内交付的机器已自带python3 ,没有采取自行安装python3,但是运行python脚本时报没有tornado module。

错误信息

ModuleNotFoundError:No module named ‘tornado’.

python3启动web服务引发的一系列问题汇总

错误信息很明确,缺少模块,那就使用pip安装模块。

执行 pip install tornado
居然报pip命令不存在。

执行 pip3 install tornado
还是报pip3命令不存在

解决问题

首要解决的问题是安装pip,pip的安装,由于行内系统是麒麟v10版本。
为了确保一次安装成功,我们直接采用源码安装方式安装pip。

安装pip3

首先,下载pip源码,地址:https://pypi.org/project/pip/
传包到服务器,解压:tar -zxvf pip-23.0.1.tar.gz
cd pip-23.0.1
执行sudo python3 setup.py install

使用pip 安装tornado

pip安装好以后,使用pip、pip3命令安装tornado。

Pip3 安装完毕后,发现使用pip3 install tornado 报错,使用whl包安装,同样报错:
ERROR: tornado-6.2-cp37-abi3-cp39-manylinux1_x86_64.whl is not support wheel on this platform
试了好几个版本,都是报同样的错。

由于系统特殊性,下载了几个wheel格式包都无法安装成功。
于是又得采取源码安装方式。

只能使用源码方式安装:下载tornado源码,地址:https://pypi.org/project/tornado/

于是解压:tar -zxvf tornado-6.2.tar.gz
进入源码包:cd tornado-6.2/
安装模块:sudo python3 setup.py install

虽然tornado 安装好了,但是我们的python脚本还是执行失败了。
最后没办法只能,将脚本内:import 过的module 挨个检查一遍,缺失的就继续采用源码安装。

最后

如果操作系统是centos、redhat 系列,建议直接采用anaconda 一键安装python环境,该软件安装完后,会将常用python 模块也附带安装掉。

扩展:用python最新版本安装web3后调试错误原因和解决方法

由于调试web3,安装了最新版本的python3.11 ,用命令安装 pip install web3,提示安装错误,无法完成。仔细观察根据错误提示发现是 VC++14没有安装的原因,根据提示从微软官方下载vs_BuildTools并单独安装VC++14如下图

python3启动web服务引发的一系列问题汇总

安装后重启系统,再运行 pip install web3 安装成功。 用 pip list 命令查看 已经有了web3模块.

开始调试web3 . 在python终端 输入 from web3 inport Web3 出现错误提示看最后一条:

导入错误:无法从"inspect"(C:\Users\Swapn\AppData\Local\Programs\Python\Python311\Lib\inspect.py)导入名称"getargspec"

根据提示查看inspect.py文件,确实查不到“getargspec”名字,发现有getfullargspec函数,可能是新版本更改了函数名字,就将getargspec替换为getfullargspec,保存。在调试 没有错误,调试成功。

总结:

新版本python3.11安装web3前,先下载vs_BuildTools并单独安装VC++14后重启在命令 pip install web3 安装成功。调试web3,需要将库里的inspect.py文件将getargspec替换为getfullargspec即可正常运行了。

来源:https://blog.csdn.net/li396864285/article/details/129169682

标签:python,web,服务
0
投稿

猜你喜欢

  • 详解Python3中setuptools、Pip安装教程

    2023-12-30 11:49:40
  • python使用tornado实现简单爬虫

    2022-07-07 12:03:08
  • 得到自增列的下一个会插入的id

    2024-01-20 17:32:48
  • pandas获取groupby分组里最大值所在的行方法

    2021-08-14 21:39:14
  • python使用chardet判断字符串编码的方法

    2023-02-02 06:45:20
  • JS数组array元素的添加和删除方法代码实例

    2024-04-23 09:25:11
  • Mysql优化策略(推荐)

    2024-01-19 15:18:34
  • Git远程操作详解

    2022-02-11 06:15:51
  • 打造“前端开发”程序员专用版EditPlus

    2009-01-05 13:04:00
  • 定时备份 Mysql并上传到七牛的方法

    2024-01-25 14:11:13
  • 推荐给大家看的设计书

    2009-02-23 12:17:00
  • PyTorch 之 强大的 hub 模块和搭建神经网络进行气温预测

    2022-11-11 14:41:15
  • 利用Python实现快速批量转换HEIC文件

    2022-08-01 08:41:35
  • Python实现的列表排序、反转操作示例

    2023-06-19 11:14:27
  • nicedit 轻量级编辑器 使用心得

    2023-03-03 23:49:08
  • python统计日志ip访问数的方法

    2023-07-05 18:57:20
  • asp.net 多数据库支持的思考

    2024-01-16 04:50:45
  • 使用numpy对数组求平均时如何忽略nan值

    2023-09-19 20:37:24
  • 教你用Python pygame设置窗口标题和图标

    2023-01-21 08:04:22
  • Python 静态方法和类方法实例分析

    2021-07-08 19:25:37
  • asp之家 网络编程 m.aspxhome.com