Ubuntu python

安装python3.9的痛苦经历,教训是不要安装3.9,最后还是删掉了!!!:

ubuntu安装python3.9.0:https://blog.csdn.net/weixin_42482896/article/details/107460100
wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0b4.tgz下载即可
tar -zxvf Python-3.9.0b4.tgz  # 解压源码包

进入到刚才解压的包目录中
#编译参数设置
./configure --prefix=/usr/local/python3.9.0        
#注意这里!!!!!!目录不要写python3!!!不然可能有问题
#编译
make
#安装
sudo make install

执行ll /usr/local/python3/bin查看安装后的可执行文件
执行ll /usr/bin | grep python先查看之前python对应软链接,


删除原来的软链接(快捷方式):
sudo rm /usr/bin/python      
sudo rm /usr/bin/pip
设置:
sudo ln -s /usr/local/python3.9.0/bin/python3.9 /usr/bin/python
sudo ln -s /usr/local/python3.9.0/bin/pip3.9 /usr/bin/pip

------不要修改这个软链接!!----------sudo rm /usr/bin/python3!这会影响terminal!!!
https://stackoverflow.com/questions/59838238/importerror-cannot-import-name-gi-from-partially-initialized-module-gi-mo
https://blog.csdn.net/starfish55555/article/details/93026394

I had the same issue. I linked python3 to python3.6, for me it was pointing to 3.8. That solved the issue.

cd /usr/bin/
rm python3
ln -s python3.6 python3
Thats all. Now my system started working fine.

最终python2,python3还是系统的软链接,python是自己的python3.9.0就好


执行ll /usr/bin | grep python和ll /usr/bin | grep pip查看设置后的软链接,设置ok

1.切换版本

新安装的python3.9没什么用(安装在/usr/local/python3.9.0)

shen@ubuntu:~$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
[sudo] shen 的密码: 
update-alternatives: 使用 /usr/bin/python2 来在自动模式中提供 /usr/bin/python (python)
shen@ubuntu:~$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
update-alternatives: 使用 /usr/bin/python3 来在自动模式中提供 /usr/bin/python (python)
shen@ubuntu:~$ sudo update-alternatives --install /usr/bin/python python /usr/local/python3.9.0 200   #这个目录不对!!!!!后面改正,链接的应该是个可执行程序??
update-alternatives: 使用 /usr/local/python3.9.0 来在自动模式中提供 /usr/bin/python (python)


shen@ubuntu:~$ sudo update-alternatives --config python
有 3 个候选项可用于替换 python (提供 /usr/bin/python)。

  选择       路径                  优先级  状态
------------------------------------------------------------
* 0            /usr/local/python3.9.0   200       自动模式
  1            /usr/bin/python2         100       手动模式
  2            /usr/bin/python3         150       手动模式
  3            /usr/local/python3.9.0   200       手动模式

要维持当前值[*]请按<回车键>,或者键入选择的编号:1
update-alternatives: 使用 /usr/bin/python2 来在手动模式中提供 /usr/bin/python (python)
shen@ubuntu:~$ python --version
Python 2.7.12

shen@ubuntu:~$ pip --version
pip 21.0.1 from /home/shen/.local/lib/python3.9/site-packages/pip (python 3.9)
shen@ubuntu:~$ pip3 --version
pip 21.0.1 from /home/shen/.local/lib/python3.9/site-packages/pip (python 3.9)

-----------------------------------------------------------------------------
#是不是应该用/usr/local/python3.9.0/bin/python3.9???又加上了
有 4 个候选项可用于替换 python (提供 /usr/bin/python)。

  选择       路径                                优先级  状态
---------------------------------------------------------------------------
  0            /usr/local/python3.9.0/bin/python3.9   200       自动模式
  1            /usr/bin/python2                       100       手动模式
  2            /usr/bin/python3                       150       手动模式
  3            /usr/local/python3.9.0                 200       手动模式--------------后面删掉!!!
* 4            /usr/local/python3.9.0/bin/python3.9   200       手动模式
-------------------------------------------------------------------------------

pip乱了,胡乱重装:

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

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
  胡乱尝试:
  sudo apt-get remove python3-pip
  手动删除python3.9.0的各种pip文件夹
  sudo apt-get install python3-pip
  sudo pip3 install --upgrade pip
  sudo apt-get remove python3-pip

参考这个成功!!!!!!!!https://zhuanlan.zhihu.com/p/37473690

删除错误的目录:sudo update-alternatives --remove python /usr/local/python3.9.0

最终可以切换python版本,切换后python和python3是当前的,python2不影响。
切换后:
python3.5的pip和pip3都是python3.5的。
python3.9的pip是python3.5的,pip3是python3.9的。

-----------------------------------------------------------最终-------------------------------------------
shen@ubuntu:~$ sh setpy
有 3 个候选项可用于替换 python (提供 /usr/bin/python)。

  选择       路径                                优先级  状态
------------------------------------------------------------
  0            /usr/local/python3.9.0/bin/python3.9   200       自动模式
  1            /usr/bin/python2                       100       手动模式
  2            /usr/bin/python3                       150       手动模式
* 3            /usr/local/python3.9.0/bin/python3.9   200       手动模式

要维持当前值[*]请按<回车键>,或者键入选择的编号:3
shen@ubuntu:~$ python -V
Python 3.9.0
shen@ubuntu:~$ pip -V
pip 20.3.4 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)
shen@ubuntu:~$ pip3 -V
pip 21.0.1 from /home/shen/.local/lib/python3.9/site-packages/pip (python 3.9)
shen@ubuntu:~$ sh setpy
有 3 个候选项可用于替换 python (提供 /usr/bin/python)。

  选择       路径                                优先级  状态
------------------------------------------------------------
  0            /usr/local/python3.9.0/bin/python3.9   200       自动模式
  1            /usr/bin/python2                       100       手动模式
  2            /usr/bin/python3                       150       手动模式
* 3            /usr/local/python3.9.0/bin/python3.9   200       手动模式

要维持当前值[*]请按<回车键>,或者键入选择的编号:2
update-alternatives: 使用 /usr/bin/python3 来在手动模式中提供 /usr/bin/python (python)
shen@ubuntu:~$ python -V
Python 3.5.2
shen@ubuntu:~$ pip -V
pip 20.3.4 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)
shen@ubuntu:~$ pip3 -V
pip 20.3.4 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)

———————————————————————————

———————————————————————————


2.最终安装了anaconda,似乎是添乱,不过配合vscode管理版本还是挺方便的!!!

输入python2
输入python3.5——安装了tensorflow,主要使用这个吧!!!,实在不行以后把anaconda卸载了
输入python3.6(或者是python3,python)

pip---3.6
pip3,pip3.5---3.5

shen@ubuntu:~$ pip3.5 -V
pip 20.3.4 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)
shen@ubuntu:~$ pip3 -V
pip 20.3.4 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)
shen@ubuntu:~$ pip -V
pip 10.0.1 from /home/shen/software/anaconda3/lib/python3.6/site-packages/pip (python 3.6)

shen@ubuntu:~$ python3.5
Python 3.5.2 (default, Jan 26 2021, 13:30:48) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
[1]+  已停止               python3.5

shen@ubuntu:~$ python
Python 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56) 
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
[2]+  已停止               python
shen@ubuntu:~$ python3.6
Python 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56) 
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
[3]+  已停止               python3.6

3.目录

~/.local/lib/python3.5/site-packages

你可能感兴趣的:(Ubuntu python)