出现这个或者fatal error: openssl/名单.h: No such file or directory。都是没有安装libssl-dev~
libssl-dev包含libraries, header files and manpages,他是openssl的一部分,而openssl对ssl进行了实现~
解决方案:
要在Debian、Ubuntu或者其他衍生版上安装OpenSSL:
  1. $ sudo apt-get install libssl-dev
要在Fedora、CentOS或者RHEL上安装OpenSSL开发包:
  1. $ sudo yum install openssl-devel
https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tar.xz wget 下载指定安装包解压缩,
tar -xvf Python-2.7.tar.bz2
cd Python-2.7
修改python setup 配置,开启ssl模块:
因为编译 python 的时候没有把 ssl模块 编译进去,只需修改 Modules/Setup文件 重新编译安装即可。
进入python安装包,找到Setup文件,用 vi 打开
  1. cd Python-2.7.11/Modules
  1. vi Setup.dist
找到
  1. # Socket module helper for SSL support; you must comment out the other
  1. # socket line above, and possibly edit the SSL variable:
  1. #SSL=/usr/local/ssl#_ssl _ssl.c \
  1. #       -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
  1. #       -L$(SSL)/lib -lssl -lcrypto
把前面的 # 号去掉,修改为
  1. # Socket module helper for SSL support; you must comment out the other
  1. # socket line above, and possibly edit the SSL variable:
  1. SSL=/usr/local/ssl
  1. _ssl _ssl.c \
  1. -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \       -L$(SSL)/lib -lssl -lcrypto
保存退出,重新编译安装(注意:
安装python之前,最好确认一下gcc是否安装。apt-get install -y gcc
如果提示make:command not found则用apt-get -y install gcc automake autoconf libtool make先安装编译器
否则./configure 阶段就会报错了)
  1. ./configure --enable-shared       #这里一定要注意,解压完之后要设置enable-shared参数, 在wsgi.py 在web server中python 才能在apache或者Nginx运行
  1. make && make install
 
  1. sudo apt-get install sqlite
  1. sudo apt-get install libsqlite3-dev
  1. 如果安装django如果错误的最后一行是
  1. django.core.exceptions.ImproperlyConfigured: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No module named _sqlite3
  1. 则可以试一下命令
 
 
  1. tar -xzf pysqlite-2.6.3.tar.gz
  1. cd pysqlite
  1. python setup.py install
 
 
 
  1. sudo apt-get install openssl
  1. sudo apt-get install libssl-dev
  1. RedHat、centos才是openssl-devel
完成如果遇到错误:
 
python: error while loading shared  libraries: libpython2.7.so.1.0: 
  cannot open shared object file: No such file or
   
解决方案: 
新建下面文件
  vim /etc/ld.so.conf.d/python2.7.conf
  加入内容:
  /usr/local/lib
  保存退出后运行:
  ldconfig
 
 

编译安装带ssl 模块指定版本Python的更多相关文章

  1. Ubuntu环境下非root用户指定版本Python的安装及虚拟环境virtualenv的使用

    Ubuntu环境下非root用户指定版本Python的安装及虚拟环境virtualenv的使用 参考博客: https://blog.csdn.net/leviopku/article/details ...

  2. 编译安装HTTPD 2.4.9版本

    编译安装HTTPD 2.4.9版本    服务脚本:/etc/rc.d/init.d/httpd    脚本配置文件路径:/etc/sysconfig/httpd    运行目录:/etc/httpd ...

  3. Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python)

    Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python) 前提是已经安装了python2,python3 1)安装各种依赖库 sudo apt-get update ...

  4. 【01】Nginx:编译安装/动态添加模块

    写在前面的话 说起 Nginx,别说运维,就是很多开发人员也很熟悉,毕竟如今已经 2019 年了,Apache 更多的要么成为了历史,要么成为了历史残留. 我们在提及 Nginx 的时候,一直在强调他 ...

  5. CentOS7 编译安装python3.6.8(升级python)

    1.安装依赖包和需要用到的工具 yum -y install wget openssl openssl-devel 这里如果不升级openssl,安装后pip安装模块可能会出错.点我查看pip安装模块 ...

  6. 运维笔记--Docker环境ubuntu系统安装指定版本python[3.6]

    场景描述: 直接安装出现如下异常: root@ae2d02e458f3:/home# apt-get install python3.6 Reading package lists... Done B ...

  7. zstack源码编译安装(1.7.x版本)

    图片没粘贴过来,请看本人gitbook吧https://www.gitbook.com/book/jingtyu/how-to-learn-zstack-code 运行环境 zstack的安装方式有很 ...

  8. 编译安装带lua 的 vim 编辑器

    注:支持7.4以后的vim版本 安装lua dev库yum -bcurrent install lua-devel 编译vim带lua支持,安装到/home/sy120714/software/vim ...

  9. Nginx 最新版源码编译安装 包含常用模块作用及所需依赖

    第一部分 Nginx最新版源码编译安装 1. 使用的模块 模块1:http_rewrite_module 基于正则匹配来实现重定向.依赖PCRE库,见依赖1 模块2:http_gzip_module ...

随机推荐

  1. 在linux中使用cmake编译运行cocos2d-x 3.4 projects

    原因: 由于不想在真机环境和 ide中调试环境, 只想在linux端进行 调试和运行, 需要使用cmake对现有的游戏进行编译(cocos2dx-lua 3.4) 修改步骤: 1.修改framewor ...

  2. iOS 传值 委托(delegate)和block 对比

     技术交流新QQ群:414971585 这篇文章建议和前一篇一起看, 另外先弄清楚IOS的block是神马东东. 委托和block是IOS上实现回调的两种机制.Block基本可以代替委托的功能,而且实 ...

  3. {part2}DFN+LOW(tarjan)割边

    首先非树边肯定不是割边,因为去掉它DFS树不受影响,只要还能生成一棵DFS树那么图就是连通的. 然后割掉一条树边只可能造成一个点与它的父亲不连通. 那好办,也就是说这个以这个点为根的子树就是上面所说的 ...

  4. NOIp 2011 mayan游戏 搜索

    题目描述 Mayan puzzle是最近流行起来的一个游戏.游戏界面是一个 7 行5 列的棋盘,上面堆放着一些方块,方块不能悬空堆放,即方块必须放在最下面一行,或者放在其他方块之上.游戏通关是指在规定 ...

  5. (转)The Neural Network Zoo

    转自:http://www.asimovinstitute.org/neural-network-zoo/ THE NEURAL NETWORK ZOO POSTED ON SEPTEMBER 14, ...

  6. Qt 多线程和网络编程学习

    一,Qt多线程类学习 QThread类,开始一个新的线程就是开始执行重新实现QThread::run(),run()是默认现实调用exec(),QThread::start()开始线程的执行,run( ...

  7. 路由 - ASP.NET MVC 4 系列

           软件开发人员常常对一些细小的细节问题倍加关注,由其在考虑源代码的质量和结构时更是如此.因此,当遇到大部分使用 ASP.NET 技术构建的站点,使用如下的 URL 地址时,可能会有些奇怪: ...

  8. oracle备份工具exp-imp

    rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpmrpm -ivh http: ...

  9. Redis -- 03 持久化

    Redis提供了两种不同的方法来将数据存储到硬盘里面,一种叫内存快照,另一种叫只追加文件(AOF),这两种方法既可以同时使用课可以单独使用,也可以都不使用,取决于场景. 快照 快照是将某一时刻的所有数 ...

  10. 让CSS布局更加直观:box-sizing

    让CSS布局更加直观:box-sizing 如果你写过CSS或者你接触过CSS,相信你一定对盒子模型一点都不陌生.CSS其中一个让人比较困惑的地方就在于它的盒子模型中关于高度和宽度的计算,别说那些初学 ...