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

 更新时间:2023年02月24日 10:04:19   作者:常乐_smile  
由于行内交付的机器已自带python3 ,没有采取自行安装python3,但是运行python脚本时报没有tornado module,遇到这样的问题如何处理呢,下面小编给大家介绍下python3启动web服务引发的一系列问题汇总,感兴趣的朋友一起看看吧

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

背景

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

错误信息

ModuleNotFoundError:No module named ‘tornado’.

错误信息很明确,缺少模块,那就使用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如下图

安装后重启系统,再运行 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即可正常运行了。

到此这篇关于python3启动web服务引发的一系列问题的文章就介绍到这了,更多相关python3启动web服务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python 生成器yield原理及用法

    Python 生成器yield原理及用法

    这篇文章主要介绍了Python 生成器yield原理及用法,yield 是实现生成器方法之一,当函数使用yield方法,则该函数就成为了一个生成器,更多相关资料需要的小伙伴可以参考一下下面文章内容
    2022-06-06
  • 关于Python函数参数的进阶用法

    关于Python函数参数的进阶用法

    这篇文章主要给大家分享的是Python函数参数的进阶用法,Python函数的参数根据函数 在调用时 传参的形式分为关键字参数和位置参数,下面文章小编就来介绍相关资料,需要的朋友可以参考一下
    2021-10-10
  • Pycharm打印大数据文件显示不全的解决方法

    Pycharm打印大数据文件显示不全的解决方法

    这篇文章主要介绍了Pycharm打印大数据文件显示不全的解决方法,昨晚写了个小爬虫,简单分析下发现可以修改请求的url,直接获取所有目标的数据,想先打印在控制台看看,发现打印的数据不全,所以本文记录了一下解决方法,需要的朋友可以参考下
    2024-03-03
  • Python 实现将大图切片成小图,将小图组合成大图的例子

    Python 实现将大图切片成小图,将小图组合成大图的例子

    这篇文章主要介绍了Python 实现将大图切片成小图,将小图组合成大图的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • 详解python Todo清单实战

    详解python Todo清单实战

    这篇文章主要介绍了详解python Todo清单实战,需要实现的功能有添加任务、删除任务、编辑任务,操作要关联数据库,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • python 实现简单的FTP程序

    python 实现简单的FTP程序

    这篇文章主要介绍了python 实现简单的FTP程序,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • 详解Django配置优化方法

    详解Django配置优化方法

    这篇文章主要介绍了详解Django配置优化方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 教你用Type Hint提高Python程序开发效率

    教你用Type Hint提高Python程序开发效率

    本文通过介绍和实例教大家如何利用Type Hint来提升Python程序开发效率,对大家使用python开发很有帮助,有需要的参考学习。
    2016-08-08
  • python实现对AES加密的视频数据流解密的方法

    python实现对AES加密的视频数据流解密的方法

    密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,这篇文章主要介绍了用python实现对AES加密的视频数据流解密,需要的朋友可以参考下
    2023-02-02
  • pyinstaller通过spec文件打包py程序的步骤

    pyinstaller通过spec文件打包py程序的步骤

    这篇文章主要介绍了pyinstaller通过spec文件打包py程序,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05

最新评论