Linux下非root用户编译安装Python3.6

2019-06-28 15:55:31 来源: 晴天小雨 0

摘要:因为权限问题,在使用服务器全局的Python时总因为不能安装包从而限制了使用,一个取巧的办法就是安装一个自己使用的Python版本。

因为权限问题,在使用服务器全局的python时总因为不能安装包从而限制了使用,一个取巧的办法就是安装一个自己使用的Python版本。

安装lzma-dev

For ubuntu: sudo apt-get install liblzma-dev

For centos: yum install -y xz-devel

下载python的相应版本

wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz

解压

tar -xzvf Python-3.6.5.tgz

切换至Python-3.6.5

cd Python-3.6.5/

创建并配置Python存放目录

mkdir -p ~/software/python3

./configure --prefix="/home/hadoop/software/python3" --enable-shared  --enable-optimizations

 --enable-shared 

启用共享,方便其他依赖python的一些内置库(比如 mysqlclient) 的资源的正常安装;

--enable-optimizations

--enable-optimizations 是优化选项(LTO,PGO 等)加上这个 flag 编译后,性能有 10% 左右的优化

检验与安装

make

make install > python_install.log

配置环境并使其生效

vim ~/.bashrc,加入一下内容:

# Python 环境变量
export PATH="$PATH:/home/hadoop/software/python3/";
# Pip365 环境变量
export PATH="$PATH:/home/hadoop/software/python3/bin/";

source ~/.bashrc,使配置生效

修改调用命令名称

由于系统pip、python命令对应2.x版本,pip3、python3对应root中的3.x版本,所以本地Python3设置为pip365、python365

cd ./bin/

cp pip3 pip36

ln -s python3.6 python36

修改源

mkdir ~/.pip/

vim ~/.pip/pip.conf, 添加一下内容:

[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

卸载编译的Python

根据make install 保存的python_install.log,删除对应的目录即可。

默认的安装目录:/usr/local/lib/python3.6 /usr/local/bin/2to3-3.6 to /usr/local/bin/pyvenv-3.6 /usr/local/bin/pydoc3.6 /usr/local/bin/idle3.6

删除上述文件

rm -rf /usr/local/lib/python3.6

rm -rf /usr/local/bin/2to3-3.6 to

rm -rf /usr/local/bin/pyvenv-3.6

rm -rf /usr/local/bin/pydoc3.6

rm -rf /usr/local/bin/idle3.6

收藏
登录发表你的评论
0条评论