[Seek Help] python3更新
Tofloor
poster avatar
facewind1
deepin
2021-07-02 00:52
Author

如何将python3.7更新为python3.9

Reply Favorite View the author
All Replies
Maicss
deepin
2021-07-02 01:08
#1

不建议升级

Reply View the author
sudo_free
deepin
2021-07-02 01:12
#2

用anaconda

Reply View the author
SamLukeYes
deepin
2021-07-02 01:28
#3

不要动系统的 python 版本,需要用其他版本的 python 建议用 conda 管理

Reply View the author
Guumi
deepin
2021-07-02 01:44
#4
sudo_free

用anaconda

我怎么找不到这个啊,是要自己现在安装么?库里只有spyder3

 

Reply View the author
大白用户
deepin
2021-07-02 01:47
#5

自己用pyenv控制 别改系统的

Reply View the author
sudo_free
deepin
2021-07-02 04:56
#6
Guumi

我怎么找不到这个啊,是要自己现在安装么?库里只有spyder3

 

需要去官网下载,或者镜像源也可以,这里放个清华的镜像源(目前最新的是“anaconda3-2021.05-linux-x86_64.sh”)

 

https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D

 

顺便放一张官方的conda cheatsheet,很好用

conda-cheatsheet.pdf

Reply View the author
duanyao
deepin
2021-07-02 09:02
#7

不能更新,因为系统自带的很多软件都依赖这个 python3.7 。

但是你可以平行安装另一个版本的 python ,可以从源码编译安装(以下是我装Python-3.7.6时写的,你改成 3.9.x 即可)。源码可以从这里下载:https://www.python.org/ftp/python/ 。

```
wget https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tgz
tar -xf Python-3.7.6.tgz
sudo apt install build-essential zlib1g-dev libbz2-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev tcl-dev tk-dev
cd Python-3.7.6
./configure --enable-shared --enable-loadable-sqlite-extensions
make -j4
sudo make altinstall
sudo ldconfig -v

python3.7 --version
pip3.7 --version
```

altinstall 与 install 的区别是:不会创建不带小版本号的符号链接,如 /usr/local/bin 下只会有 python3.7 和 pip3.7 ,不会有 python3, pip3, python, pip.

默认安装位置是:/usr/local 。

`--enable-shared` 将会创建 python 的动态库 libpython3.7m.so ,很多第三方程序会链接它,所以最好打开。
`--enable-optimizations` 使用 PGO 来优化编译,这会导致编译过程很慢。

不装 libbz2-dev 也可以编译成功,但是内置模块 bz2 将无法成功导入( `ModuleNotFoundError: No module named '_bz2'` )[5.7]。

不装 tcl-dev tk-dev 也可以编译成功,但内置模块 `_tkinter` (GUI工具)将无法成功导入( `ModuleNotFoundError: No module named '_tkinter'`)。

安装 libsqlite3-dev 并使用 --enable-loadable-sqlite-extensions 来启用内置模块 sqlite3 。

Reply View the author