sudo apt-get update
sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev
libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev xz-utils libexpat1-dev
liblzma-dev libffi-dev libc6-dev
进入目录 cd /usr
下载 Python3.7 wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz
解压 tar -xvzf Python-3.7.1.tgz
进入解压目录 cd Python-3.7.1/
建立安装的目录 sudo mkdir -p /usr/local/python3
编译安装
# ./configure --prefix=/usr/local/python3 --enable-optimizations
# make
# sudo make install
先执行查看版本,如果有则证明软链接已存在,需要先删去以前的再重新建立
//这里表明我已有python3的软链接而没有pip3的软链接所以需要删除python3的软链接重新建立
jianjiacheng@J-computer:~/Python-3.7.1$ python3 -V
Python 3.5.2
jianjiacheng@J-computer:~$ pip3 -V
bash: /usr/lib/command-not-found: /usr/bin/python3: bad interpreter: No such file or directory
报错则
rm -rf /usr/bin/python
rm -rf /usr/bin/pip
重新安装pip
sudo apt-get remove python-pip
sudo apt-get install python-pip python-dev build-essential
建立新的指向python3.7的软链接
#添加python3的软链接
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python
#添加 pip3 的软链接
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip
python -m pip install --upgrade pip
报ssl module in Python is not available的错误
1.安装ssl
sudo apt-get install openssl
sudo apt-get install libssl-dev
2. 修改Moudles/Setup (该目录在python的解压目录下)
vim Modules/Setup
#修改结果如下:
# 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/ssl
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto
3.重新安装一次
./configure --prefix=/usr/local/python
make
sudo -H make install
4.python3
>>>import ssl #检测成功!
>>>
ModuleNotFoundError: No module named bz2
ModuleNotFoundError: No module named '_lzma'
下面直接说解决方法了
这里参考了https://blog.csdn.net/u013817676/article/details/97366270
sudo apt-get install libbz2-dev
sudo apt-get install lzma
sudo apt-get install liblzma-dev # 最重要的 编译了好几次 没有这个真不行。很老的包了 2012年的
#然后cd到你原来安装遗留的python3.7的包 我的在/home/moxiao/tmp/Python-3.7.3
# 然后开始运行一把嗦的的命令 我的安装路径是 /usr/local/python37 # 你们选自己的哦
# 开始一把梭
./configure --prefix=/usr/local/python37 --enable-optimizations && make && make install
# 然后运行我们的python37
# 输入 import bz2 不报错说明成功了
# 输入 import lzma 不报错说明成功了