题记

在之前的文章中,我在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. 关于java.lang.IncompatibleClassChangeError: Implementing class错误解决

    在javaagent使用asm字节码编程的时候启动异常,java.lang.IncompatibleClassChangeError: Implementing class, 这是包冲突引起的问题,加 ...

  2. 绕过限制,在PC上调试微信手机页面

    场景 假设一个手机页面,开发者对其做了限制,导致只能在微信客户端中打开.而众所周知手机上非常不利于调试页面,所以需要能在电脑上打开并进行调试.这里针对常见的三种页面做一下分析,一一绕过其限制,(当然不 ...

  3. [UE4]ChildActor组件

    ChildActor组件可以让一个actor成为另外actor的组成部分,并在视图中展示出来.

  4. [UE4]C++三种继承方式

    (1) 公有继承(public) 公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问. (2)私有继承(pri ...

  5. 图片尺寸批量resize的matlab并行代码

    在caffe ImageNet例子中有对图片进行resize的部分,文中使用的是linux shell脚本命令: for name in /path/to/imagenet/val/*.JPEG; d ...

  6. 第3章 文件I/O(7)_高级文件操作:存储映射

    8. 高级文件操作:存储映射 (1)概念: 存储映射是一个磁盘文件与存储空间的一个缓存相映射,对缓存数据的读写就相应的完成了文件的读写. (2)mmap和munmap函数 头文件 #include&l ...

  7. 用docker搭建php+nginx+laravel的开发环境

    制作镜像 由于官方php:7.2.2-fpm-alpine3.7 镜像不含composer,而单独做一个composer镜像又会依赖php镜像,所以应该在php镜像中添加composer.Docker ...

  8. python多重继承C3算法

    python多重继承的MRO算法选择: 经典方式.Python2.2 新式算法.Python2.3 新式算法(C3).Python 3中只保留了最后一种,即C3算法 C3算法的解析: 1.多继承UML ...

  9. 黑盒测试用例设计——PICT

    一.简单用法   在PICT安装目录下新建一个txt文本.把参数填入txt文本中.[内容包括(注意格式<ParamName> : <Value1>, <Value2> ...

  10. 使用IDEA开发Activiti工作流

    首先安装cativiti插件,安装成功后重启IDEA 然后在文件夹右键选择 然后就可以画图了,但是画图之后,没有连接图标怎么办呢 把鼠标放在开头的那个图标上,此时光标的形状改变了. 拖到另一个上面,连 ...