ubuntu16.04源码安装python3.6及卸载的坑

4 篇文章 0 订阅
4 篇文章 0 订阅

Tips:ubuntu16.04系统自带python2.7和python3.5,安装在/usr/bin下,千万不能删除.为了方便管理可以把python3.6安装在/usr/local/bin下.然后把python3.6和pip3软连接到/usr/bin下.

一 安装依赖库

sudo apt-get install gcc make zlib1g-dev
sudo apt-get install libbz2-dev
sudo apt-get install libsqlite3-dev
sudo apt-get install python3-dev libxml2-dev libffi-dev libssl-dev libxslt1-dev

二 安装python3.6

wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz
tar -zxvf Python-3.6.4.tar.xz
sudo mv Python-3.6.4 /usr/local
cd /usr/local/Python-3.6.4
./configure
sudo make
sudo make install

至此,安装完成!
接下来,进行软连接

ll /usr/bin | grep python   //查看是否有python软连接,如没有,跳过下一步
sudo rm -rf /usr/bin/python
sudo ln -s /usr/local/bin/python3.6 /usr/bin/python   //把python3.6链接到/usr/bin下的python上
python -V
cd /usr/bin
ls     //查看是否有pip,如没有,跳过下一步
sudo mv pip pip2  //若pip指向的是pip2,将其更名为pip2
sudo ln -s /usr/local/bin/pip3 /usr/bin/pip    //把pip3链接到/usr/bin下的pip上
pip -V

三 卸载的坑

卸载python3.5时,把桌面组件一起卸载了,导致软件和终端都显示不出来.解决办法:
Ctrl+Alt+F1进入shell,安装python相关依赖和缺失的东西.

sudo apt-get install python3-all
sudo apt-get install gnome-terminal

如果重启没用,重新安装所有的桌面组件.

sudo apt-get remove ubuntu-desktop
sudo apt-get install ubuntu-desktop

重启,问题解决.

四 导入pycharm引包失败

各种包安装好了,在命令行里import没有问题,在pycharm里import失败,原因是导入环境不对.
在File->Settings->Project Interpreter->点击右上角图标选择Add->Existing environment->选择bin文件下的python路径->在Make available to all projects栏画勾->OK->apply
导入环境成功.

五 ImportError: cannot import name ‘ssl’

源码编译安装python3.6完成之后,ssl模块缺失无效,无法import ssl.解决办法:
源码安装openssl,到openssl 官网 下载压缩包

  • 安装openssl步骤
cd /openssl-1.1.1
sudo ./config shared --prefix=/usr/local/openssl --openssldir=/usr/lib/openssl
sudo make && sudo make install
sudo gedit ~/.bashrc
在最后一行添加export PATH=$PATH:/usr/local/openssl/bin 保存退出
source ~/.bashrc
sudo ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1
sudo ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1
openssl version -a
  • python3.6关联ssl

python3.6源码安装不会自动关联ssl,需要在源码安装前,修改Python-3.6.4/Modules/Setup和/Modules/Setup.dist两个文件。把下面5行去掉前面的注释,两个文件执行同样的操作。

# Socket module helper for socket(2)
_socket socketmodule.c

# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
SSL=/usr/local/openssl
_ssl _ssl.c \
        -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
        -L$(SSL)/lib -lssl -lcrypto

注意,原来的 #SSL=/usr/local/ssl 不仅要去掉注释,还要改成自己安装的openssl路径.

  • 重新编译安装python3.6
# cd Python-3.6.4
# ./configure
# make && sudo make install

重新import ssl 问题解决了!

  • 8
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 在 Ubuntu 16.04安装 Python 3.6 的方法如下: 1. 打开终端(Ctrl + Alt + T)。 2. 更新软件包列表:sudo apt-get update 3. 安装 Python 3.6 的依赖库:sudo apt-get install -y build-essential checkinstall 4. 下载 Python 3.6 源码:wget https://www.python.org/ftp/python/3.6.12/Python-3.6.12.tgz 5. 解压缩 Python 3.6 源码:tar xzf Python-3.6.12.tgz 6. 进入解压后的文件夹:cd Python-3.6.12 7. 编译安装 Python 3.6:./configure && make && sudo make install 8. 检查 Python 3.6 版本python3.6 -V 请注意,在安装 Python 3.6 后,系统默认的 Python 版本仍然是 2.x,如果要使用 Python 3.6,需要在命令前加上 python3.6,例如 python3.6 -V 如果想要在系统默认使用 python3.6,可以执行命令: sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3.6 1 然后执行: sudo update-alternatives --config python 选择 python3.6 ### 回答2: Ubuntu16.04自带的python版本是python2.7,如果你想安装python3.6,可以按照以下步骤进行操作: 1.更新系统 在终端输入以下命令: sudo apt-get update sudo apt-get upgrade 2.安装依赖 在终端输入以下命令安装依赖: sudo apt-get install build-essential checkinstall sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev 3.下载python3.6安装包 下载安装包到本地,可以在https://www.python.org/downloads/release/python-360/下载最新版本python3.6。 4.编译安装python3.6 在终端进入python3.6安装包所在目录,执行以下命令: tar -xvf Python-3.6.0.tgz # 解压安装包 cd Python-3.6.0 # 进入解压后的目录 ./configure make sudo make install 5.设置默认python版本 在终端输入以下命令设置默认python版本: sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3.6 1 sudo update-alternatives --config python 出现选项后,输入“1”即可选择python3.6作为默认版本。 6.测试python版本 在终端输入以下命令: python -v 如果显示的版本是3.6,说明安装成功。 以上就是在Ubuntu16.04安装python3.6的步骤,如果你遇到了问题,可以在社区寻求帮助。 ### 回答3: Ubuntu 16.04 默认安装了 Python 2.7.x,但是 Python 3.x 需要手动安装。Python 3.6 是 Python 3 的最新版本,在 Ubuntu 16.04安装 Python 3.6 的步骤如下: 1. 更新系统软件包列表 在终端中输入以下命令以更新系统中的软件包列表: sudo apt-get update 2. 安装编译 Python 3.6 所需的依赖 编译 Python 3.6 所需的依赖可以通过以下命令一次性安装: sudo apt-get install build-essential checkinstall sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev 3. 获取 Python 3.6 的源代码 在终端中输入以下命令以下载 Python 3.6 的源代码: wget https://www.python.org/ftp/python/3.6.10/Python-3.6.10.tgz 4. 解压 Python 3.6 的源代码 在终端中输入以下命令以将下载下来的 Python 3.6 源代码解压: tar xzf Python-3.6.10.tgz 5. 编译 Python 3.6 进入 Python 3.6 的源代码目录,运行以下命令: cd Python-3.6.10 ./configure --enable-optimizations make altinstall 其中,--enable-optimizations 表示开启编译优化,make altinstall 表示将 Python 3.6 安装到 /usr/local/bin 目录下,并同时保留系统默认的 Python 2.7.x 版本。 6. 验证 Python 3.6 安装成功 在终端中输入以下命令: python3.6 如果出现 Python 3.6.x 的版本信息,则说明 Python 3.6 安装成功。 7. 设置 Python 3.6 为系统默认版本 如果想要将 Python 3.6 设置为系统默认版本,则需要编辑系统环境变量 /etc/profile 文件,在文件末尾添加以下代码: export PATH=/usr/local/bin:$PATH 然后在终端中输入以下命令,使配置的环境变量生效: source /etc/profile 至此,Ubuntu 16.04安装 Python 3.6 的步骤就完成了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值