题记

在之前的文章中,我在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的位置,并且建立了软链,

项目中引入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能够找到对应的模块。能够运行。

亲情链接:

简书

博客园

centos安装Python插件后找不到对应的插件ModuleNotFoundError: No module named*的更多相关文章

  1. 【python+beautifulsoup4】Python中安装bs4后,pycharm报错ModuleNotFoundError: No module named 'bs4'

    本文主要分享关于在对应python版本中安装beautifulsoup之后,在代码执行时还会提示“No module named 'bs4'”的问题. 安装beautifsoup4 在命令窗口执行 p ...

  2. 转: CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法

    from: http://www.linuxde.net/2014/05/15576.html CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法 2014/05/ ...

  3. CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法

    CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法如下: 截至包子写本文的时候,pip最新为 1.5.5 wget --no-check-certificate h ...

  4. Centos安装Python各版本解释器并配置pip

    Centos7.3安装Python3.7 Python3.7貌似又多了新的依赖,所以按照安装之前的套路安装在配置pip阶段就会出问题,比如: ModuleNotFoundError: No modul ...

  5. 安装好php后找不到php.ini

    很多同学在安装完php后找不到php.ini而烦恼. 通常php.ini的位置在: /etc目录下或/usr/local/lib目录下. 如果你还是找不到php.ini或者找到了php.ini修改后不 ...

  6. Centos 安装python 3.7 ,同时兼容python2.7

    下载Python源码 从http://www.python.org/download/根据需要的版本下载源文件. 例如上图就是我在官网直接找到3.5.6版本的下载页面,点击的tar源码包进行下载. 1 ...

  7. Python中安装bs4后,pycharm依然报错ModuleNotFoundError: No module named 'bs4'

    学习网络抓取时,第一步出现问题. 执行示例代码 from urllib.request import urlopen from bs4 import BeautifulSoup html = urlo ...

  8. centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'

    centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'的解决办法 3.7版本需要一个新的包libffi-de ...

  9. centos7安装python3和Django后,ModuleNotFoundError: No module named '_sqlite3'

    1.准备安装环境 yum groupinstall 'Development Tools' yum install zlib-devel bzip2-devel openssl-devel ncurs ...

随机推荐

  1. [UE4]C++静态局部变量

    void testFunc() { ; // this only runs ONCE, even on // subsequent calls to testFunc()! cout << ...

  2. javascript节点操作移出节点removeChild()

    removeChild(a)是用来删除文档中的已有元素 参数a:要移出的节点 <div id="guoDiv"> <span>1</span> ...

  3. 基于WMI获取本机真实网卡物理地址和IP地址

    using System; using System.Collections.Generic; using System.Management; using System.Runtime.Intero ...

  4. git常用命令,冲突

    使用多个仓库git push cangkuming fenzhiming删除远程仓库 git push 远程仓库名 :删除目标分支 # 需要先删除本地目标分支 git pull <远程主机名&g ...

  5. HAproxy使用

    参考官网 安装HAproxy/ pull 官方镜像 本地安装:本地安装路径:/usr/local/haproxy/配置: 添加:/usr/local/haproxy/conf/haproxy.cfg添 ...

  6. 类unix系统同步目录,却不同步目录中文件

    rsync -av --del -f '+ */' -f '- *' src/ dst/;用此条命令即可同步同主机间不同目录到一个位置,或是同步道不同主机同位置. 或是用以下命令: ssh 10.18 ...

  7. sqlserver导入导出数据库结构及创建用户分配权限

    1.创建用户分配权限 https://www.cnblogs.com/jennyjiang-00/p/5803140.html 2.sqlserver2008导出表结构和表数据 导出表结构   htt ...

  8. git提交到远程仓库

    Git概述 什么是Git? 刚开始对这个东西也感到挺迷茫,并且问了好多已经学习android一段时间的同学也是一头雾水,直到了解并使用之后,才体会到Git的好处以及重要意义. Git:是目前世界上最先 ...

  9. mysql的时区错误的解决办法

    十二月 02, 2018 9:16:19 下午 com.mchange.v2.resourcepool.BasicResourcePool 警告: Having failed to acquire a ...

  10. socket 网络连接基础

    socket 客户端 import socket 1.client = socket.socket()  # socket.TCP/IP 选择连接的类型,默认为本地连接 2.client.connec ...