python3啟動(dòng)web服務(wù)引發(fā)的一系列問題匯總
python3啟動(dòng)web服務(wù)引發(fā)的一系列問題
背景
在某行的實(shí)施項(xiàng)目,需要使用python3環(huán)境運(yùn)行某些py腳本。
由于行內(nèi)交付的機(jī)器已自帶python3 ,沒有采取自行安裝python3,但是運(yùn)行python腳本時(shí)報(bào)沒有tornado module。
錯(cuò)誤信息
ModuleNotFoundError:No module named ‘tornado’.
錯(cuò)誤信息很明確,缺少模塊,那就使用pip安裝模塊。
執(zhí)行 pip install tornado
居然報(bào)pip命令不存在。
執(zhí)行 pip3 install tornado
還是報(bào)pip3命令不存在
解決問題
首要解決的問題是安裝pip,pip的安裝,由于行內(nèi)系統(tǒng)是麒麟v10版本。
為了確保一次安裝成功,我們直接采用源碼安裝方式安裝pip。
安裝pip3
首先,下載pip源碼,地址:https://pypi.org/project/pip/
傳包到服務(wù)器,解壓:tar -zxvf pip-23.0.1.tar.gz
cd pip-23.0.1
執(zhí)行sudo python3 setup.py install
使用pip 安裝tornado
pip安裝好以后,使用pip、pip3命令安裝tornado。
Pip3 安裝完畢后,發(fā)現(xiàn)使用pip3 install tornado 報(bào)錯(cuò),使用whl包安裝,同樣報(bào)錯(cuò):
ERROR: tornado-6.2-cp37-abi3-cp39-manylinux1_x86_64.whl is not support wheel on this platform
試了好幾個(gè)版本,都是報(bào)同樣的錯(cuò)。
由于系統(tǒng)特殊性,下載了幾個(gè)wheel格式包都無法安裝成功。
于是又得采取源碼安裝方式。
只能使用源碼方式安裝:下載tornado源碼,地址:https://pypi.org/project/tornado/
于是解壓:tar -zxvf tornado-6.2.tar.gz
進(jìn)入源碼包:cd tornado-6.2/
安裝模塊:sudo python3 setup.py install
雖然tornado 安裝好了,但是我們的python腳本還是執(zhí)行失敗了。
最后沒辦法只能,將腳本內(nèi):import 過的module 挨個(gè)檢查一遍,缺失的就繼續(xù)采用源碼安裝。
最后
如果操作系統(tǒng)是centos、redhat 系列,建議直接采用anaconda 一鍵安裝python環(huán)境,該軟件安裝完后,會(huì)將常用python 模塊也附帶安裝掉。
擴(kuò)展:用python最新版本安裝web3后調(diào)試錯(cuò)誤原因和解決方法
由于調(diào)試web3,安裝了最新版本的python3.11 ,用命令安裝 pip install web3,提示安裝錯(cuò)誤,無法完成。仔細(xì)觀察根據(jù)錯(cuò)誤提示發(fā)現(xiàn)是 VC++14沒有安裝的原因,根據(jù)提示從微軟官方下載vs_BuildTools并單獨(dú)安裝VC++14如下圖
安裝后重啟系統(tǒng),再運(yùn)行 pip install web3 安裝成功。 用 pip list 命令查看 已經(jīng)有了web3模塊.
開始調(diào)試web3 . 在python終端 輸入 from web3 inport Web3 出現(xiàn)錯(cuò)誤提示看最后一條:
導(dǎo)入錯(cuò)誤:無法從"inspect"(C:\Users\Swapn\AppData\Local\Programs\Python\Python311\Lib\inspect.py)導(dǎo)入名稱"getargspec"
根據(jù)提示查看inspect.py文件,確實(shí)查不到“getargspec”名字,發(fā)現(xiàn)有g(shù)etfullargspec函數(shù),可能是新版本更改了函數(shù)名字,就將getargspec替換為getfullargspec,保存。在調(diào)試 沒有錯(cuò)誤,調(diào)試成功。
總結(jié):
新版本python3.11安裝web3前,先下載vs_BuildTools并單獨(dú)安裝VC++14后重啟在命令 pip install web3 安裝成功。調(diào)試web3,需要將庫里的inspect.py文件將getargspec替換為getfullargspec即可正常運(yùn)行了。
到此這篇關(guān)于python3啟動(dòng)web服務(wù)引發(fā)的一系列問題的文章就介紹到這了,更多相關(guān)python3啟動(dòng)web服務(wù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于Python函數(shù)參數(shù)的進(jìn)階用法
這篇文章主要給大家分享的是Python函數(shù)參數(shù)的進(jìn)階用法,Python函數(shù)的參數(shù)根據(jù)函數(shù) 在調(diào)用時(shí) 傳參的形式分為關(guān)鍵字參數(shù)和位置參數(shù),下面文章小編就來介紹相關(guān)資料,需要的朋友可以參考一下2021-10-10Pycharm打印大數(shù)據(jù)文件顯示不全的解決方法
這篇文章主要介紹了Pycharm打印大數(shù)據(jù)文件顯示不全的解決方法,昨晚寫了個(gè)小爬蟲,簡單分析下發(fā)現(xiàn)可以修改請求的url,直接獲取所有目標(biāo)的數(shù)據(jù),想先打印在控制臺看看,發(fā)現(xiàn)打印的數(shù)據(jù)不全,所以本文記錄了一下解決方法,需要的朋友可以參考下2024-03-03Python 實(shí)現(xiàn)將大圖切片成小圖,將小圖組合成大圖的例子
這篇文章主要介紹了Python 實(shí)現(xiàn)將大圖切片成小圖,將小圖組合成大圖的例子,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03教你用Type Hint提高Python程序開發(fā)效率
本文通過介紹和實(shí)例教大家如何利用Type Hint來提升Python程序開發(fā)效率,對大家使用python開發(fā)很有幫助,有需要的參考學(xué)習(xí)。2016-08-08python實(shí)現(xiàn)對AES加密的視頻數(shù)據(jù)流解密的方法
密碼學(xué)中的高級加密標(biāo)準(zhǔn)(Advanced?Encryption?Standard,AES),又稱Rijndael加密法,這篇文章主要介紹了用python實(shí)現(xiàn)對AES加密的視頻數(shù)據(jù)流解密,需要的朋友可以參考下2023-02-02