linux与python环境配置问题

2021/4/17 7:25:19

本文主要是介绍linux与python环境配置问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

linux与python环境配置问题

作为一个刚刚开始使用python的小白,很多流程与操作只能是照搬,无法理解其中的原因。在经历了最初的迷茫之后,慢慢的理解了一些逻辑,记在这里,一个是帮助自己记忆,一个是幻想着万一哪天能帮助到一些人

注:本人使用的是ubuntu版本的linux环境

python的安装与版本问题

python版本问题

一般在Linux中,python包的安装位置是/usr/bin,里面可能包含着好几个版本的python,比如一般系统默认的python 2.7(虽然很少用,但是不能卸载,是很多文件的必须语言),而在日常的工作中我们需要使用很多个不同版本的python,这就会引出一些问题,比如pip和dist-packages问题

pip是python自带的安装程序,因此它是绑定在自己版本的python下的,进而在使用pip命令进行包的安装时,它会自动将pachages安装在自己版本的dist-packages里面,而这种package无法被别的版本的python调用。

举个例子,如果原本默认版本是python3.6,而新安装了python 3.8。如果不卸载pip,重新安装的话,默认的pip是绑定着3.6的,使用pip3 install命令安装的包会被安装到python 3.6下面,因为无法调用,自然会报错如下

# ksb @ B705-TitanV in ~/bishe_code [13:29:51] 
$ /usr/bin/python3 /data/ksb/bishe_code/run_train.py
Traceback (most recent call last):
  File "/data/ksb/bishe_code/run_train.py", line 18, in <module>
    from visdom import Visdom
ModuleNotFoundError: No module named 'visdomd'

可以使用下面的命令对目前的package目录进行检查

$ python -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())"

得到的答案如下

>> /usr/lib/python3.6/dist-packages

当然,更加离谱的错误方式是,错误的使用了pip而不是pip3进行安装(小白的痛)。所有一定要记得分清python3,python还有pip,pip3!!!
前面讲到过,python一般link的是系统默认版本python2.7,而python3一般link的是用户自己安装的python3.x。如果希望更改相关的link,具体更改方式(以改绑python3为例)请见下面的详细教程

第一步,特定版本python的安装

下面列举了几种网上查到的方法

  1. 这一种有点坑。。。还是别用了
$ sudo apt-get install python3.8
  1. 应该可以,,,我也记不得了QAQ
sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget
  1. 这个目前可以
wget https://bootstrap.pypa.io/get-pip.py  
python get-pip.py
python3 get-pip.py  #安装python3的pip

第二步,进行版本绑定

#删除bin下面的python二进制文件,具体是python3还是python根据你的需求改变
$ sudo rm /usr/bin/python3
#将想要的python版本链接为python3/python
$ sudo ln -s /usr/bin/python3.6 /usr/bin/python3

在更改完毕之后可以通过python --version或者python3 --version来查询是否成功更改
类似的命令还有where python where python3来检查目前python地址

第三步,pip3的卸载方法

不更新pip3的话,在更改link以后肯定是用不了!QAQ,在通过python --version python3 --version确认了你的python/python3已经绑定为想要的版本以后,请输入

python3 -m pip uninstall pip
sudo apt-get remove python-pip python-pip

pip进行卸载,一定要卸干净,否则pip还是link到原有版本的,你用新版本python去调用`pip1肯定不好使!

pip3的更新方法

卸载干净以后,再进行pip的安装

wget https://bootstrap.pypa.io/get-pip.py  #需要外网
python get-pip.py
python3 get-pip.py  #安装python3的pip

环境的建立

mkdir python38
python3 -m venv python38

即可创建名为python38的虚拟空间,空间使用的python版本为python3link到的版本

环境的激活

source /data/ksb/bishe_code/py36/bin/activate

当上面显示一个小括号的时候就说明你成功进入虚拟环境了!

环境的退出

deactivate


这篇关于linux与python环境配置问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程