解决Ubuntu Centos下,非root用户、没有权限sudo Permissions,不能更改Python,或者Python缺失库 _bz.so 自定义安装Python

运行mxnet的时候,报错没有bz这个库

File "/usr/local/lib/python3.6.5/lib/python3.6/bz2.py", line 23, in <module>
    from _bz2 import BZ2Compressor, BZ2Decompressor
ModuleNotFoundError: No module named '_bz2'

网上也有对应的教程
stackoverflow解决办法
https://blog.csdn.net/cuixianpeng/article/details/51926518

由于缺失root权限,我采用自己重新编译Python3代码,并安装到自己当前用户目录下面,就有了随意更改的权限

1.切换到当前用户目录下
cd ~

2.下载Python3.7
wget https://www.python.org/ftp/python/3.7.8/Python-3.7.8.tgz
淘宝镜像:wget https://npm.taobao.org/mirrors/python/3.7.8/Python-3.7.8.tgz

3.解压Python安装包
tar -xzvf Python-3.7.8.tgz

4.编译和安装
cd Python-3.7.8
./configure --prefix=/home/zx/myPython  # 配置安装位置
make
make install

5. 测试是否安装成功
~/myPython/bin/python3.7
结果如下:
Python 3.7.8 (default, Aug  6 2020, 08:56:28) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

6. 创建venv
~/myPython/bin/python3.7  -m venv myEnv
Ubuntu下启动:
source myEnv/bin/activate
Windows cmd下启动:
myEnv/Scripts/activate.bat
退出:
deactivate

7. 如果缺失什么包,也可以网上下载,拷贝到对应目录
cp /usr/lib/python3.5/lib-dynload/_bz2.cpython-35m-x86_64-linux-gnu.so  /home/zx/myPython/lib/python3.7/lib-dynload

8.重命名
cd ~/myPython/lib/python3.7/lib-dynload
mv _bz2.cpython-35m-x86_64-linux-gnu.so _bz2.cpython-37m-x86_64-linux-gnu.so


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值