./configure --prefix=/usr/local/python2.7.5
gcc -pthread -Xlinker -export-dynamic -o python Modules/python.o libpython2.7.a -lpthread -ldl -lutil -lm libpython2.7.a(posixmodule.o): In function `posix_tmpnam': /root/Python-2.7.5/./Modules/posixmodule.c:7515: warning: the use of `tmpnam_r' is dangerous, better use `mkstemp' libpython2.7.a(posixmodule.o): In function `posix_tempnam': /root/Python-2.7.5/./Modules/posixmodule.c:7462: warning: the use of `tempnam' is dangerous, better use `mkstemp' ./python -E -S -m sysconfig --generate-posix-vars Could not find platform dependent libraries <exec_prefix> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] make: *** [Makefile:464: pybuilddir.txt] Segmentation fault (core dumped) [root@host-10-10-18-131 Python-2.7.5]# ls /usr/local/python2.7.5 [root@host-10-10-18-131 Python-2.7.5]# ls /usr/local/python2.7.5/ [root@host-10-10-18-131 Python-2.7.5]# ls /usr/local/python2.7.5/ -al
解决:
查看Python路径相关环境变量的意义。
- PYTHONHOME :指定 Python 的标准库。
- PYTHONPATH :用于扩充 Python 查找模块文件的路径。
这里是导入 site 模块时出错,所以应该在 PYTHONPATH 上增加 site 模块的路径。
查找site相关文件的路径:
[root@tZ etc]# find / -name site.py*
/usr/lib64/python2.7/site.pyc
/usr/lib64/python2.7/site.py
/usr/lib64/python2.7/site.pyo
增加路径到环境变量:
[root@host-10-10-18-131 Python-2.7.5]# export PYTHONPATH=$PYTHONPATH:/usr/local/python2.7.5 [root@host-10-10-18-131 Python-2.7.5]# make -j 4 ./python -E -S -m sysconfig --generate-posix-vars Could not find platform dependent libraries <exec_prefix> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] make: *** [Makefile:464: pybuilddir.txt] Segmentation fault (core dumped) [root@host-10-10-18-131 Python-2.7.5]# ls /usr/local/ bin etc games include lib lib64 libexec python2.7.5 sbin share src [root@host-10-10-18-131 Python-2.7.5]# mkdir -p /usr/local/python2.7 [root@host-10-10-18-131 Python-2.7.5]# ./configure --prefix=/usr/local/python2.7