Linux-python的一些小问题
1、python版本和pip版本
2、path和pytonpath
1、python版本和pip版本
1、python版本
一般ubuntu里面都装的不止一个版本的python,比如有python2.3和python3.3。但其实这两个不是兼容的,并且site-packages也会有所不同。如果混用的话,可能会造成困难。(现在终于明白为什么之前用pip命令安装ale一直失败了)
想要查看系统有多少python版本:
① 分别执行
1 $ python --version 2 $ python2 --version 3 $ python3 --version
②或者是执行:
1 $ ls -ls /usr/bin/python*
如果想要查看当前ubuntu默认的python版本,可以执行:
1 $ readlink -f $(which python) | xargs -i % sh -c 'echo -n "%: "; % -v'
2、python‘s site-packages 和 pip
既然知道python2和python3不兼容,那么如果混这两个版本的站点包的话,可能也会出现一些小问题:
这里就说到另外一个命令:pip
首先你要知道的是python2和python3的pip并不是同一个命令,而是分别有各自的pip,并且pip安装站点包后存放的位置也不一样。
使用如下命令:
1 $ pip install --user tensorflow
这是给系统默认的python版本安装包。(如果没有重新设置的话,一般默认python版本都是python2。就算你重新设置了,也可能会有问题,所以,最好用下面的命令)
可以用如下命令来给特定的python版本安装包:
1 $ python2 -m pip install --user tensorflow #给python2版本安装包 2 $ python3 -m pip install --user tensorflow #给python3版本安装包
当然下面命令也是可以的:
$ pip2 install --user tensorflow $ pip3 install --user tensorflow
想要知道pip到底用的哪个?
你需要知道这两个命令最后下载包的位置是不一样的。
如果你想知道自己的包,是下载到了哪里,可以执行:
1 $ python2 -m pip show tensorflow 2 $ python3 -m pip show tensorflow
自己之前弄混时,出现的错误:之前我一直用pip install 命令来安装包,但是系统默认是python2版本,而我用的是python3版本。我直接把python3的搜索路径指向了python2下载站点包的存储目录。这样python3也能找到tensorflow了,虽然是python2版本的tensorflow。但是最后在安装ale包时,怎样都安装不上,或许是和python2版本的pip有关吧。反正这个错误一定不要再犯了。
3、更改系统默认的python版本:
更改这些设置,我们就是想要在.bashrc中写点什么,先用vi编辑器打开.bashrc文件:
1 $ vi ~/.bashrc #用vi编辑器,编辑用户目录下的.bashrc文件
然后在这个.bashrc文件里面的一个新行:码下这行字:
alias python=python3
然后,保存并推出。再执行命令:
1 $ source ~.bashrc
ok,done.
这时候再看python版本:就是python3了。 原文链接 :
conclusion:
在有多个版本时,每次使用都特定指出用的是哪一个版本的python。
2、ubuntu系统中的pythonpath和path
为什么说到这个,因为之前虽然也看了环境变量、系统变量、局部变量这些,但模模糊糊的。所以在遇到pythonpath和path时也是模糊不清。
pythonpath:python的搜索路径。python如果想要找一些模块,函数等,就会通过pythonpath中的路径来逐一查找。
path:path is an enviroment variable. it basically tells your machine where to search for programs,
即,如果你没有把一个程序添加进path,那么你在运行它的时候就需要使用绝对地址:
1 $ /usr/hitech/picc/9.82/bin/picc
而,如果你把/usr/hitech/picc/9.82/bin/添加进你的path后,你就可以直接用如下命令:
1 $ picc #因为系统通过path里面设定的路径,是找得到这个programe的位置的
至于如何修改这个path,推荐一个链接 :