Admin

Centos7 Python3 开发环境搭建
2018年8月23日 11:47 50 0 0 0

环境准备

  1. yum -y groupinstall "Development tools"
  2. yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
  3. yum -y install libffi-devel # python 3.7

下载&编译&安装

  1. wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
  2. mkdir /usr/local/python3
  3. tar -xvJf Python-3.6.2.tar.xz
  4. cd Python-3.6.2
  5. ./configure --prefix=/usr/local/python3 --enable-shared
  6. make && make install
  7. ln -s /usr/local/python3/bin/python3 /usr/bin/python3
  8. ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

补充说明:编译时加上“—enable-shared”参数是为了能够在提供后续PyInstaller打包所需依赖。
但是,这样也会导致安装完成后Python3命令无法运行
“python3: error while loading shared libraries: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory”

查看原因:

  1. 执行:
  2. ldd /usr/local/python3/bin/python3
  3. 得到结果:
  4. linux-vdso.so.1 => (0x00007ffdcf1f8000)
  5. libpython3.6m.so.1.0 => not found
  6. libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f0160eb3000)
  7. libdl.so.2 => /lib64/libdl.so.2 (0x00007f0160caf000)
  8. libutil.so.1 => /lib64/libutil.so.1 (0x00007f0160aac000)
  9. libm.so.6 => /lib64/libm.so.6 (0x00007f01607a9000)
  10. libc.so.6 => /lib64/libc.so.6 (0x00007f01603e8000)
  11. lib64/ld-linux-x86-64.so.2 (0x00007f01610d9000)

解决办法:

  1. 执行
  2. find / -name 'libpython3.6m.so.1.0'
  3. 得到:
  4. /root/tmp/Python-3.6.2/libpython3.6m.so.1.0
  5. /usr/local/python3/lib/libpython3.6m.so.1.0
  6. 添加配置文件:
  7. vim /etc/ld.so.conf.d/python3.conf
  8. 写入内容:
  9. /usr/local/python3/lib/
  10. 生效:
  11. ldconfig
  12. 检查是否报错:
  13. python3 --version

环境变量

将python3安装路径添加到环境变量PATH中,避免不必要的麻烦

  1. vim /etc/profile

在末尾添加行:

  1. export PATH="/usr/local/python3/bin:$PATH"

参考地址

https://www.cnblogs.com/FZfangzheng/p/7588944.html
http://www.yecuizhen.com/archives/20/

发布内容,请遵守相关法律法规。
评论