Ubuntu16.04 升级python3.7 步骤记录

Ubuntu backup method

https://zhuanlan.zhihu.com/p/51827233

tar -cpzf /media/Disk/myDisk/ubuntu_backup@`date +%Y-%m-%d`.tar.gz --exclude=/proc --exclude=/tmp --exclude=/boot --exclude=/home --exclude=/lost+found --exclude=/media --exclude=/mnt --exclude=/run /

terminal operation history

安装中文输入法

https://blog.csdn.net/Chamico/article/details/89788324

升级到Python 3.7.1

sudo apt install build-essential bzip2 gcc libbz2-1.0 libbz2-dev libc6-dev libdb-dev libexpat1 libexpat1-dev libffi-dev libgdbm-dev libgdbm3 liblzma-dev libncurses5-dev libncursesw5-dev libpcap-dev libreadline-dev libreadline5 libreadline6 libreadline6-dev libsqlite0 libsqlite0-dev libsqlite3-0 libsqlite3-dev libssl-dev libssl1.0.0 libxml2-dev libxslt1-dev make openssl python-dev python-pip python-setuptools python-smbus python3-dev sqlite sqlite3 tcl tk tk-dev uuid-dev xz-utils zlib1g zlib1g-dev

先解压

sudo tar -zxvf Python-3.7.1.tgz
cd Python-3.7.1/

python3.7.1以上没有将SSL功能,要补上
Python3 pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available,原因是在./configure过程中,如果没有加上–with-ssl参数,导致默认安装的软件涉及到ssl的功能不可用.


sudo apt-get install openssl
sudo apt-get install libssl-dev
sudo mkdir /usr/local/python3.7
./configure -enable-optimizations prefix=/usr/local/python3.7


> https://blog.csdn.net/Pretendness/article/details/80032016   
sudo make
sudo make install

将 /usr/local/python3中的libpython3.7m.a放到/usr/lib中(补充 usr 是Unix System Resouce的缩写)

sudo cp libpython3.7m.a /usr/lib

删除软链接,并建立新链接

rm -rf /usr/bin/python3
rm -rf /usr/bin/pip3
sudo ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
sudo ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3.7

另一种方法:ppa方式安装python3.7

https://blog.csdn.net/u013578795/article/details/105460386

sudo apt-get install python3.6-gdbm

安装pip之前,需要安装setuptools

sudo unzip setuptools-40.6.2.zip
cd setuptools-40.6.2
sudo python3.7 setup.py build
sudo python3.7 setup.py install

安装pip

sudo tar -zxvf pip-18.1.tar.gz
cd pip-18.1
sudo python3.7 setup.py build
sudo python3.7 setup.py install

soft link

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

copy CommandNotFound folder to Desktop

cp -rf /usr/lib/python3/dist-packages/CommandNotFound/ ~/Desktop/

rename files in the above folder, more specify , files in pycache should end with 37 rather than 35
then copy the folder to /usr/local/python3.7


copy libpython3.7m.a to /usr/lib(最新一次是复制到local/lib)

sudo cp /usr/local/python3.7/lib/libpython3.7m.a /usr/lib

copy lsb_release.py to python3.7

sudo cp /usr/lib/python3/dist-packages/lsb_release.py /usr/local/python3.7/lib/python3.7/

更换Python的pip源

mkdir ~/.pip
vim ~/.pip/pip.conf

add content to above

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple 

There is something wrong still there
Because the root interpreter is Python3.5, there is some system function can only be open with the soft link python3 to python3.5

参考资料:
https://www.jianshu.com/p/05ef0fe0d929
https://www.cnblogs.com/jsdy/p/12694908.html


apt-get install python3-xxx uses the original python3.5 interpreter , so in the python3.7 environment , the packages installed by this way cannot be import.

Each python3 package wanted to used in python3.7 environment should be installed by the sudo pip3 install

解决问题:

https://www.jianshu.com/p/a205f7a44b45

通过下面的命令可以查看apt使用的Python版本,我考虑将它修改一下。

ls /usr/lib/python3/dist-packages/apt_pkg*
#改它
sudo mv apt_pkg.cpython-35m-x86_64-linux-gnu.so apt_pkg.cpython-37m-x86_64-linux-gnu.so
sudo mv apt_inst.cpython-35m-x86_64-linux-gnu.so apt_inst.cpython-37m-x86_64-linux-gnu.so 

Besides, rename all the package using python35 to 37

sudo mv brlapi.cpython-35m-x86_64-linux-gnu.so brlapi.cpython-37m-x86_64-linux-gnu.so
sudo mv _cffi_backend.cpython-35m-x86_64-linux-gnu.so _cffi_backend.cpython-37m-x86_64-linux-gnu.so
sudo mv cups.cpython-35m-x86_64-linux-gnu.so cups.cpython-37m-x86_64-linux-gnu.so
sudo mv cupsext.cpython-35m-x86_64-linux-gnu.so cupsext.cpython-37m-x86_64-linux-gnu.so
sudo mv _dbus_bindings.cpython-35m-x86_64-linux-gnu.so _dbus_bindings.cpython-37m-x86_64-linux-gnu.so
sudo mv _dbus_glib_bindings.cpython-35m-x86_64-linux-gnu.so _dbus_glib_bindings.cpython-37m-x86_64-linux-gnu.so
sudo mv hpmudext.cpython-35m-x86_64-linux-gnu.so hpmudext.cpython-37m-x86_64-linux-gnu.so
sudo mv pcardext.cpython-35m-x86_64-linux-gnu.so pcardext.cpython-37m-x86_64-linux-gnu.so
sudo mv pycurl.cpython-35m-x86_64-linux-gnu.so pycurl.cpython-37m-x86_64-linux-gnu.so
sudo mv scanext.cpython-35m-x86_64-linux-gnu.so scanext.cpython-37m-x86_64-linux-gnu.so

安装Keras和依赖

安装BLAS库,实现快速张量运算

sudo apt-get install build-essential cmake git unzip pkg-config libopenblas-dev liblapack-dev

安装HDF5,高效的二进制格式保存大文件

sudo apt-get install libhdf5-serial-dev
sudo pip3 install h5py

安装Graphviz和pydot-ng

sudo apt-get install graphviz
sudo pip3 install pydot-ng
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值