当前位置: > Linux服务器 > 环境配置 >

linux下Django环境配置过程及问题

时间:2015-05-11 03:07来源:linux.it.net.cn 作者:IT

1    最终各安装程序版本
Server version: Apache/2.2.3
Python:2.7.2
mysql  Ver 14.12 Distrib 5.0.77
Django:1.3.1
mod_wsgi:3.3
MySQL-python:1.2.1-1.x86_64
2 过程及问题
(1)
问题:源码安装Apache的时候出现:configure failed for srclib/apr  
解决:yum install apr apr-devel
(2)
问题:安装mysql时,在configure安装配置mysql的时候出现:
checking for termcap functions library... configure: error: No curses/termcap library found
解决:指定curses的lib库文件。
./configure --prefix=/var/mysql --with-named-curses-libs=/usr/lib/libncursesw.so.5
或者去下载一个ncurses-5.6.tar.gz,
wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar.gz
tar zxvf ncurses-5.6.tar.gz
cd ncurses-5.6
./configure –prefix=/usr –with-shared –without-debug
make
make install clean
然后再重新编译Mysql进行安装。
(3)
问题:在make时遇到
-fno-rtti -c -o my_new.o my_new.cc
../depcomp: line 512: exec: g++: not found
make[2]: *** [my_new.o] Error 127
make[2]: Leaving directory `/root/mysql-5.0.67/mysys'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/mysql-5.0.67'
make: *** [all] Error 2
解决:yum install gcc-c++
安装 gcc-c++ 和他的依赖libstdc++-devel 
(4)
问题:安装apache的时候入遇到 error: mod_deflate has been requested but can not be built due to prerequisite failures的错误。
解决:没有安装zlib包。centos下可以采用yum install zlib-devel, ubuntu下可以采用apt-get install zlib1g-dev.
(5)
问题:安装apache2 提示Cannot use an external APR with the bundled APR-util
解决:apache2.0.x与apache2.2.x在apr上有本质的区别,前者为依赖公用apr,后者依赖于自身的apr。
一般前者也就是2.0.x的编译基本上没有apr方面的问题,除非,在编译前,安装了非2.0.x所需的apr,如果是这样,则需要将已经安装的apr去除,然后再编译。
如果是后者也出现关于apr的问题,则将安装前的apr去除后,在编译apache2.2.x自身的apr,在srclib目录中。
cd httpd-2.2.3
安装APR
cd srclib/apr
#./configure --prefix=/usr
#make
#make install
安装APR-util
cd srclib/apr-util
#./configure --prefix=/usr --with-apr=/usr
#make
#make install
然后再configure apache
(6)
问题:升级python后yum出现No module named yum 
解决:恢复办法:
rm -rf /usr/bin/python
ln -s /usr/bin/python2.4 /usr/bin/python
或者修改:
# vi /usr/bin/yum  //来指定一下版本,更简单。
#!/usr/bin/python2.4
import sys
(7)
问题:在安装MySQLdb时,出现:pymemcompat.h:10:20: 错误:Python.h:没有那个文件或目录
解决:确认一下Python的开发包和MySQL的开发包安装了没有 yum install python-devel mysql-devel
(8)
在测试MySQLdb时
# python2.7 
>>> import MySQLdb
>>> 
错误提示:
/usr/local/lib/python2.6/site-packages/MySQL_python-1.2.3-py2.6-linux-x86_64.egg/_mysql.py:3: UserWarning: Module 
_mysql was already imported from /usr/local/lib/python2.6/site-packages/MySQL_python-1.2.3-py2.6-linux-
x86_64.egg/_mysql.pyc, but /root/MySQL-python-1.2.3 is being added to sys.path
报错原因:
执行python setup.py install,MySQLdb模块会被拷贝python的site-packages目录。如果在执行python的目录中存在相同的模块。
解决办法:
换个目录执行python即可。

 

附:

1、使用python命令检查python版本。

如果是Python 2.7以下,需要升级python。

./configure--prefix=/usr/local/python2.7 –enable-shared

查看安装的版本信息
/usr/local/python2.7/bin/python2.7 -V
Python 2.7 (r27:82500, Nov 2 2010, 19:25:22)[GCC 4.1.2 20080704 (Red Hat4.1.2-48)] on linux2
看来新装的版本生效了,做个软连接应该就OK。
mv /usr/bin/python /usr/bin/python-bak
ln -s /usr/local/python2.7/bin/python3.0/usr/bin/python

升级安装好以后yum会无法使用,因为yum使用的是2.4版本的,所以要修改yum的配置文件以便能够识别2.4版本下的python
vim /usr/bin/yum

将文件头部的
#!/usr/bin/python

改成

#!/usr/bin/python2.4

就可以继续使用yum了

 

libpython2.7.so.1.0的错误时的 解决办法:
vi /etc/ld.so.conf 添加/usr/local/Python2.7/lib

再运行:

/sbin/ldconfig
/sbin/ldconfig -v



(责任编辑:IT)
------分隔线----------------------------