出現這個或者fatal error: openssl/名單.h: No such file or directory。都是沒有安裝libssl-dev~
libssl-dev包含libraries, header files and manpages,他是openssl的一部分,而openssl對ssl進行了實現~
解決方案:
要在Debian、Ubuntu或者其餘衍生版上安裝OpenSSL:
- $ sudo apt-get install libssl-dev
要在Fedora、CentOS或者RHEL上安裝OpenSSL開發包:
- $ sudo yum install openssl-devel
tar -xvf Python-2.7.tar.bz2
cd Python-2.7
修改python setup 配置,開啓ssl模塊:
由於編譯 python 的時候沒有把 ssl模塊 編譯進去,只需修改 Modules/Setup文件 從新編譯安裝便可。
進入python安裝包,找到Setup文件,用 vi 打開
找到
- # Socket module helper for SSL support; you must comment out the other
- # socket line above, and possibly edit the SSL variable:
- #SSL=/usr/local/ssl#_ssl _ssl.c \
- # -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
- # -L$(SSL)/lib -lssl -lcrypto
把前面的 # 號去掉,修改成
- # Socket module helper for SSL support; you must comment out the other
- # socket line above, and possibly edit the SSL variable:
- -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 階段就會報錯了)
- ./configure --enable-shared #這裏必定要注意,解壓完以後要設置enable-shared參數, 在wsgi.py 在web server中python 才能在apache或者Nginx運行
- sudo apt-get install sqlite
- sudo apt-get install libsqlite3-dev
- django.core.exceptions.ImproperlyConfigured: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No module named _sqlite3
- tar -xzf pysqlite-2.6.3.tar.gz
- sudo apt-get install openssl
- sudo apt-get install libssl-dev
- 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