解决centos6系统上python3—flask模块的安装问题
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端口的进程

不过这个环境问题,如何解决呀,创建虚拟环境????
解决centos6系统上python3—flask模块的安装问题的更多相关文章
- 微信JSSDK多图片上传并且解决IOS系统上传一直加载的问题
微信多图片上传必须挨个上传,也就是不能并行,得串行: 那么我们可以定义一个如下所示的上传函数: var serverIds = []; function uploadImages(localImage ...
- centos7上python3.6.5的安装及卸载
前言 最近开始安装配置公司给我的台式机,加上刚刚购买的ECS,处女座的我,环境前前后后大概装了有十来次吧,之前装总是临时网上找教程,但是装下来总是感觉有点别扭,当时服务器装的是3.6.5,虚拟机装的是 ...
- 介绍两种在RHEL 和 CentOS 系统上检查或列出已安装的安全更新的方法
在本文中,我们将向你展示如何检查已安装的安全更新.我会介绍两种方法,你可以选择最适合你的. 此外,我还添加了一个小的 shell 脚本,它为你提供已安装的安全包计数. 运行以下命令获取系统上已安装的安 ...
- [证书服务器 第二篇] 基于OpenSSL 在 CentOS6 系统上 搭建自签证书服务,并应用于Web容器
第一部分:概述 .. 第二部分:环境准备 1 操作系统 CentOS 6.x 2 安装openssl yum install -y openssl 3 安装jdk 从官网下载JDK http://ww ...
- Linux学习 -->解决Ubuntu系统上 No command 'crond' found
前两天,准备在Ubuntu服务器上,定时执行Gitlab备份的命令,如下所示 编辑 vi /etc/crontab 文件,添加如下定时脚本 # edited by ouyang 2017-8-11 添 ...
- windows系统在python3.5环境下安装mysql组件
折腾了一个多小时,终于把连接Mysql的模块装好了,由于我的环境是python3.5,Mysql官方支持到python3.4,后面google查到有pymysql模快支持python3.5,这个模块是 ...
- Windows 8.1 系统上用Oracle VM VirtualBox 安装windows 2008 R2 SP1 的虚拟机 出现 Error Code: 0x000000C4
Windows 8.1 本来可以安装Hyper-v来安装虚拟机,但是我现在需要使用Oracle VM VirtualBox来安装虚拟机, 所以必须先卸载Hyper-v VirtualBox 安装的虚拟 ...
- CentOS7系统上的LAPACK源码安装
参考链接:linux下安装blas和lapack BLAS 和 LAPACK 这两个数学库是很多 Linux 科学计算软件需要调用的,所以经常会用到. LAPACK,其名为Linear Algebra ...
- CentOS7系统上的GPSTK源码安装
网址:http://www.gpstk.org/bin/view/Documentation/BuildingGPSTkUnderUnix 这里使用Cmake来安装源码,网站上的原文摘抄如下,有少部分 ...
随机推荐
- Java 静态static关键字,main函数,对象的初始化过程,对象调用成员,单例模式的设计,静态代码块(6)
Java 静态static关键字,静态代码块详情参考:static的使用原理讲解http://www.cnblogs.com/itcqx/p/5519464.html main函数: java Mai ...
- @EnableWebMvc WebMvcConfigurer
Spring注解@EnableWebMvc使用坑点解析 https://blog.csdn.net/zxc123e/article/details/84636521 @EnableWebMvc,Web ...
- ubuntu19.10安装cuda-10.1
ubuntu19.10安装cuda-10.1 1.安装N卡驱动: 打开ubuntu的软件和更新,设置N卡驱动 2.查看ubuntu显卡驱动 nvidia-smi 显示: Sun Feb 23 06:4 ...
- 模板编程里class 与 typename 的区别
大部分情况下可以相互替换,但是某些情况class 无法替代typename,例如 template< class T, class U > std::shared_ptr<T> ...
- Maven--远程仓库的认证
大部分远程仓库无须认证就可以访问,但有时候出于安全方面的考虑,我们需要提供认证信息才能访问一些远程仓库. 配置认证信息和配置仓库信息不同,仓库信息可以直接配置在 POM 文件中,但是认证信息必须配置在 ...
- Linux下自由切换用户
切换用户的命令是su,su是(switch user)切换用户的缩写.通过su命令,可以从普通用户切换到root用户,也可以从root用户切换到普通用户. 上述图中是linux下的终端页面,其中pyv ...
- 上传本地项目到GIT码云
1.下载GIT 下载地址:https://git-scm.com/downloads 我这里下载的64位 2.安装GIT 双击下载的Git-2.18.0-64-bit.exe文件,选择自己的安装目录, ...
- JS - ES5与ES6面向对象编程
1.面向对象 1.1 两大编程思想 1.2 面向过程编程 POP(Process-oriented programming) 1.3 面向对象编程 OOP (Object Oriented Progr ...
- Python笔记_第三篇_面向对象_3.重载(overloading)和重写(overriding)
1. 重载: overloading:就是将函数重新定义一遍. 1.1 __str__( )和__repr__( )的重载: 格式: __str__( ):在调用print打印对象时自动调用,是给用户 ...
- python代码实现购物车(django的redis与vue)
安装模块 pip install django-redis 后端代码 # 购物车 class CartView(APIView): # 初始化函数 def __init__(self): self.c ...