腾讯云服务器ubuntu20,已有Python3.8,从华为云下载安装包,安装了Python3.9之后,报错如题
解决:
从已有的3.8里拷贝依赖文件到3.9里,然后重命名,命令如下
ubuntu@esoaru-net ~/github/aiopathlib ☺ python3.8 -c 'import _sqlite3;print(_sqlite3.__file__)' master ✗ /usr/lib/python3.8/lib-dynload/_sqlite3.cpython-38-x86_64-linux-gnu.so ubuntu@esoaru-net ~/github/aiopathlib ☺ which python3.9 master ✗ /usr/local/bin/python3.9 ubuntu@esoaru-net ~/github/aiopathlib ☺ cp /usr/lib/python3.8/lib-dynload/_sqlite3.cpython-38-x86_64-linux-gnu.so /usr/lib/python3.9/lib-dynload/ master ✗ cp: cannot create regular file '/usr/lib/python3.9/lib-dynload/_sqlite3.cpython-38-x86_64-linux-gnu.so': Permission denied ubuntu@esoaru-net ~/github/aiopathlib ☹ sudo cp /usr/lib/python3.8/lib-dynload/_sqlite3.cpython-38-x86_64-linux-gnu.so /usr/lib/python3.9/lib-dynload/ master ✗ ubuntu@esoaru-net ~/github/aiopathlib ☺ python3.9 -c 'import _sqlite3;print(_sqlite3.__file__)' master ✗ Traceback (most recent call last): File "", line 1, in ModuleNotFoundError: No module named '_sqlite3' ubuntu@esoaru-net ~/github/aiopathlib ☹ cd /usr/lib/python3.9/lib-dynload master ✗ ubuntu@esoaru-net /usr/lib/python3.9/lib-dynload ☺ sudo mv _sqlite3.cpython-38-x86_64-linux-gnu.so _sqlite3.cpython-39-x86_64-linux-gnu.so ubuntu@esoaru-net /usr/lib/python3.9/lib-dynload ☺ python3.9 -c 'import _sqlite3;print(_sqlite3.__file__)' /usr/lib/python3.9/lib-dynload/_sqlite3.cpython-39-x86_64-linux-gnu.so ☹ sudo cp /usr/lib/python3.9/lib-dynload/* /usr/local/lib/python3.9/lib-dynload/
总结:
其实就是一行命令
sudo cp /usr/lib/python3.8/lib-dynload/_sqlite3.cpython-38-x86_64-linux-gnu.so /usr/lib/python3.9/lib-dynload/_sqlite3.cpython-39-x86_64-linux-gnu.so



