Flask 是一个使用 Python 编写的轻量级 Web 框架(所以我们前面花了那么多时间安装 Python3 呀)。它被称为微型架构,因为其使用非常简单的核心以及功能丰富的扩展。虽然 Flask 内核没有默认的数据库、验证工具等,但是却通过扩展加入了 ORM、验证工具、文件上传、开放式身份验证,可以实现非常强大的 Web 应用。 好啦,那其实 Flask 的安装非常简单

>>>背景:在centos6.5上自带了python2.6.6,然后我自己安装了python3版本。

所以为了区分哪个python执行的py文件,需要使用:python3+py文件。

如下图执行py文件时出现了如下错误:意思是没有flask这个模块。

我们来看看代码,果真第9行引入了这个模块,所以我们的目标就是安装这个库

>>>安装flask库:使用pip安装

#pip3 install flask

出现问题:

 原因:

找不到pip安装所需要的ssl模块。系统版本centos6.5,其中openssl的版本为

openssl-1.0.1e-57.el6.i686,而python3.7需要的openssl的版本为1.0.2或者1.1.x,需要对openssl进行升级,并重新编译python3.7.3。yum 安装的openssl 版本都比较低。

解决办法:升级openssl

1.下载openssl
  wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz
  tar -zxvf openssl-1.1.1a.tar.gz   /usr/local/bin
  cd /usr/local/bin/openssl-1.1.1a
 2.编译安装

  mkdir -p /usr/local/openssl
  ./config --prefix=/usr/local/openssl no-zlib #不需要zlib
  make
  make install
 3.备份原配置
  mv /usr/bin/openssl /usr/bin/openssl.bak
  mv /usr/include/openssl/ /usr/include/openssl.bak
4.新版配置
  ln -s /usr/local/openssl/include/openssl /usr/include/openssl
  ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/local/lib32/libssl.so   这里可能提示没有lib32这个目录,这里可以新建一个mkdir lib32
  ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
5.修改系统配置
   写入openssl库文件的搜索路径
  echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
   使修改后的/etc/ld.so.conf生效 
  ldconfig -v
6.查看openssl版本
  openssl version,如下图,这就代表升级成功啦。

  可能出现问题:openssl version 提示:

  /usr/local/openssl/bin/openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

  假如你的libssl.so.1.1 文件在/usr/local/openssl/lib/下面,可以这样做

  ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib32/libssl.so.1.1

  ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib32/libcrypto.so.1.1

7、 重新安装python3
  ./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl
  make
  make install

>>>再次安装flask库

在python3的安装目录的bin目录下

#pip3 install flask

下载中....

验证安装成功./flask --version

>>>再次运行py文件

靠,又报错了!!!!

出现问题:警告:这是开发服务器。不要在生产部署中使用它

哈哈

原因:

哈哈

解决办法:

kill掉80端口的进程

 ps -ef|grep httpd|grep -v grep|awk '{print $2}'|xargs kill -9
netstat -tunlp|grep 80
 ps -ef |grep httpd
如下图:在运行啊
 

不过这个环境问题,如何解决呀,创建虚拟环境????

解决centos6系统上python3—flask模块的安装问题的更多相关文章

  1. 微信JSSDK多图片上传并且解决IOS系统上传一直加载的问题

    微信多图片上传必须挨个上传,也就是不能并行,得串行: 那么我们可以定义一个如下所示的上传函数: var serverIds = []; function uploadImages(localImage ...

  2. centos7上python3.6.5的安装及卸载

    前言 最近开始安装配置公司给我的台式机,加上刚刚购买的ECS,处女座的我,环境前前后后大概装了有十来次吧,之前装总是临时网上找教程,但是装下来总是感觉有点别扭,当时服务器装的是3.6.5,虚拟机装的是 ...

  3. 介绍两种在RHEL 和 CentOS 系统上检查或列出已安装的安全更新的方法

    在本文中,我们将向你展示如何检查已安装的安全更新.我会介绍两种方法,你可以选择最适合你的. 此外,我还添加了一个小的 shell 脚本,它为你提供已安装的安全包计数. 运行以下命令获取系统上已安装的安 ...

  4. [证书服务器 第二篇] 基于OpenSSL 在 CentOS6 系统上 搭建自签证书服务,并应用于Web容器

    第一部分:概述 .. 第二部分:环境准备 1 操作系统 CentOS 6.x 2 安装openssl yum install -y openssl 3 安装jdk 从官网下载JDK http://ww ...

  5. Linux学习 -->解决Ubuntu系统上 No command 'crond' found

    前两天,准备在Ubuntu服务器上,定时执行Gitlab备份的命令,如下所示 编辑 vi /etc/crontab 文件,添加如下定时脚本 # edited by ouyang 2017-8-11 添 ...

  6. windows系统在python3.5环境下安装mysql组件

    折腾了一个多小时,终于把连接Mysql的模块装好了,由于我的环境是python3.5,Mysql官方支持到python3.4,后面google查到有pymysql模快支持python3.5,这个模块是 ...

  7. Windows 8.1 系统上用Oracle VM VirtualBox 安装windows 2008 R2 SP1 的虚拟机 出现 Error Code: 0x000000C4

    Windows 8.1 本来可以安装Hyper-v来安装虚拟机,但是我现在需要使用Oracle VM VirtualBox来安装虚拟机, 所以必须先卸载Hyper-v VirtualBox 安装的虚拟 ...

  8. CentOS7系统上的LAPACK源码安装

    参考链接:linux下安装blas和lapack BLAS 和 LAPACK 这两个数学库是很多 Linux 科学计算软件需要调用的,所以经常会用到. LAPACK,其名为Linear Algebra ...

  9. CentOS7系统上的GPSTK源码安装

    网址:http://www.gpstk.org/bin/view/Documentation/BuildingGPSTkUnderUnix 这里使用Cmake来安装源码,网站上的原文摘抄如下,有少部分 ...

随机推荐

  1. Java 静态static关键字,main函数,对象的初始化过程,对象调用成员,单例模式的设计,静态代码块(6)

    Java 静态static关键字,静态代码块详情参考:static的使用原理讲解http://www.cnblogs.com/itcqx/p/5519464.html main函数: java Mai ...

  2. @EnableWebMvc WebMvcConfigurer

    Spring注解@EnableWebMvc使用坑点解析 https://blog.csdn.net/zxc123e/article/details/84636521 @EnableWebMvc,Web ...

  3. ubuntu19.10安装cuda-10.1

    ubuntu19.10安装cuda-10.1 1.安装N卡驱动: 打开ubuntu的软件和更新,设置N卡驱动 2.查看ubuntu显卡驱动 nvidia-smi 显示: Sun Feb 23 06:4 ...

  4. 模板编程里class 与 typename 的区别

    大部分情况下可以相互替换,但是某些情况class 无法替代typename,例如 template< class T, class U > std::shared_ptr<T> ...

  5. Maven--远程仓库的认证

    大部分远程仓库无须认证就可以访问,但有时候出于安全方面的考虑,我们需要提供认证信息才能访问一些远程仓库. 配置认证信息和配置仓库信息不同,仓库信息可以直接配置在 POM 文件中,但是认证信息必须配置在 ...

  6. Linux下自由切换用户

    切换用户的命令是su,su是(switch user)切换用户的缩写.通过su命令,可以从普通用户切换到root用户,也可以从root用户切换到普通用户. 上述图中是linux下的终端页面,其中pyv ...

  7. 上传本地项目到GIT码云

    1.下载GIT 下载地址:https://git-scm.com/downloads 我这里下载的64位 2.安装GIT 双击下载的Git-2.18.0-64-bit.exe文件,选择自己的安装目录, ...

  8. JS - ES5与ES6面向对象编程

    1.面向对象 1.1 两大编程思想 1.2 面向过程编程 POP(Process-oriented programming) 1.3 面向对象编程 OOP (Object Oriented Progr ...

  9. Python笔记_第三篇_面向对象_3.重载(overloading)和重写(overriding)

    1. 重载: overloading:就是将函数重新定义一遍. 1.1 __str__( )和__repr__( )的重载: 格式: __str__( ):在调用print打印对象时自动调用,是给用户 ...

  10. python代码实现购物车(django的redis与vue)

    安装模块 pip install django-redis 后端代码 # 购物车 class CartView(APIView): # 初始化函数 def __init__(self): self.c ...