[python] Linux编译安装python3

Python download : https://www.python.org/downloads/
遇到问题:
编译环境的安装:yum install zlib-devel bzip2-devel openssl-devel ncurese-devel(要先安装这个不然python安装不完整,会没有pip3)
get_pip.py : https://bootstrap.pypa.io/get-pip.py

安装python前,首先编译安装一些依赖,不然直接安装python后会报很多错,还需要重新安装

(1)Ubuntu/Debian下需安装的依赖:

apt-get install -y gcc make cmake build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl

(2)Fedora/CentOS/RHEL(aws ec2)下需安装的依赖:

yum -y install gcc make cmake zlib zlib-devel bzip2 bzip2-devel openssl openssl-devel openssl-static xz lzma xz-devel libffi libffi-devel
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
tar xvf Python-3.7.0.tar.xz

cd python3
./configure --prefix=/usr/local/python3 --enable-shared  --enable-optimizations
make && make install

–enable-optimizations 是优化选项(LTO,PGO 等)加上这个 flag 编译后,性能有 10% 左右的优化,但是这会明显的增加编译时间,老久了.

然后创建软链接

ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

python3 -m pip install --upgrade pip

make -j4 build_all
make -j4 altinstall

——Python Shell 中敲击方向键显示「[[C[[D」

pip3 install gnureadline

Configure是一个可执行脚本(本质),它有很多选项,在待安装的源码路径下使用命令

./configure --help #或者是
./configure –h
输出详细的选项列表。

在这里只重点说一下如何指定python的安装路径,因为我们需要使用某一个版本的安装路径,最好是将整个python安装到同一个文件夹之下肯定是最方便管理,但是默认的安装却并不是这样子。

如果不配置该选项,直接使用默认的操作,安装后

可执行文件默认放在/usr /local/bin,
库文件默认放在/usr/local/lib ,
配置文件默认放在 /usr/local/etc ,
其它的资源文件放在/usr /local/share ,
软件包和模块放在/usr/local/python3/lib/python3.6/ 目录之下,

3.1 通过 ./configure --prefix=“”配置安装路径

–prefix 选项是配置安装的路径,如果配置 --prefix,如:./configure --prefix=/usr/local/test 可以把所有资源文件放在/usr/local/test的路径中,不会杂乱,方便管理,卸载等等。

用了 --prefix 选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。

当然要卸载程序,也可以在原来的make目录下用一次 make uninstall,但前提是make文件指定过uninstall。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Moke丶青

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值