centos安裝Python插件后找不到對應的插件ModuleNotFoundError: No module named*


題記

在之前的文章中,我在centos服務器裝了python3並且給python與pip建立了軟鏈,利用git上傳代碼到centos服務器之后利用終端運行app.py的時候會報錯。

報錯:

[root@izm5e0qcppq4b6rgy4d5vfz flaskServer]# python app.py
Traceback (most recent call last):
  File "app.py", line 2, in <module>
    from flask import Flask
  File "/usr/local/python3/lib/python3.7/site-packages/flask/__init__.py", line 21, in <module>
    from .app import Flask, Request, Response
  File "/usr/local/python3/lib/python3.7/site-packages/flask/app.py", line 25, in <module>
    from . import cli, json
  File "/usr/local/python3/lib/python3.7/site-packages/flask/cli.py", line 18, in <module>
    import ssl
  File "/usr/local/python3/lib/python3.7/ssl.py", line 98, in <module>
    import _ssl             # if we can't import it, let the error propagate
ModuleNotFoundError: No module named '_ssl'
[root@izm5e0qcppq4b6rgy4d5vfz flaskServer]# python3 app.py
Traceback (most recent call last):
  File "app.py", line 2, in <module>
    from flask import Flask
ModuleNotFoundError: No module named 'flask'

問題還原:

環境:

1. 自定義安裝了python3的位置,並且建立了軟鏈,
python版本

項目中引入flask的時候提示報錯,並且運行中執行不同的python命令提示報錯還不一樣:
報錯

安裝flask環境以后還是不行,

猜想應該是裝python3 並且建立軟鏈的過程中,哪個地方弄錯了。一時不知道該怎么辦。想起來 flask文檔 有這么一句段:

文檔

於是想到用 virtualenv 建立一個虛擬環境,安裝flask,再運行
代碼:

[root]# sudo pip install virtualenv
[root]# virtualenv venv
New python executable in /var/www/flaskServer/venv/bin/python2
Also creating executable in /var/www/flaskServer/venv/bin/python
Please make sure you remove any previous custom paths from your /root/.pydistutils.cfg file.
Installing setuptools, pip, wheel...done.
[rootr]# chmod 755 venv/bin/activate
[rootr]# venv/bin/activate
[rootr]# pip3 install Flask
...
[rootr]# pip3 install requests
...
[rootr]# python3 app.py
 * Serving Flask app "app" (lazy loading)
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)

重啟服務器之后,利用python3執行命令,照樣可以運行,不知道為什么但是就是這么解決了。。。

猜想

應該是和系統自帶的python2.7有關,而我給項目創建了一個虛擬環境,應該我是隔絕了python3對python2.7模塊的引用,之后python3找不到對應的模塊,重新安裝,pip3重新創建新的路徑,python3能夠找到對應的模塊。能夠運行。

HELLO WORLD

親情鏈接:
簡書
博客園


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM