python 版本及pip安装相关

python2与python3

由于历史原因,Python有两个大的版本分支,Python2和Python3,又由于一些库只支持某个版本分支,所以需要在电脑上同时安装Python2和Python3,因此如何让两个版本的Python兼容,如何让脚本在对应的Python版本上运行,这个是值得总结的。

1、对于Ubuntu 16.04 LTS版本来说,Python2(2.7.12)和Python3(3.5.2)默认同时安装,默认的python版本是2.7.12。

当然你也可以用python2来调用。

如果想调用python3,就用python3.

Linux(ubuntu18.04)切换python版本

2、对于Windows,就有点复杂了。因为不论python2还是python3,python可执行文件都叫python.exe,在cmd下输入python得到的版本号取决于环境变量里哪个版本的python路径更靠前,毕竟windows是按照顺序查找的。比如环境变量里的顺序是这样的:

那么cmd下的python版本就是2.7.12。

反之,则是python3的版本号。

这就带来一个问题了,如果你想用python2运行一个脚本,一会你又想用python3运行另一个脚本,你怎么做?来回改环境变量显然很麻烦。

网上很多办法比较简单粗暴,把两个python.exe改名啊,一个改成python2.exe,一个改成python3.exe。这样做固然可以,但修改可执行文件的方式,毕竟不是很好的方法。

我仔细查找了一些python技术文档,发现另外一个我觉得比较好的解决办法。

借用py的一个参数来调用不同版本的Python。py -2调用python2,py -3调用的是python3

当python脚本需要python2运行时,只需在脚本前加上,然后运行py xxx.py即可。

#! python2

当python脚本需要python3运行时,只需在脚本前加上,,然后运行py xxx.py即可。

#! python3

就这么简单。

同时,这也完美解决了在pip在python2和python3共存的环境下报错,提示Fatal error in launcher: Unable to create process using '"'的问题。

当需要python2的pip时,只需

py -2 -m pip install xxx

当需要python3的pip时,只需

py -3 -m pip install xxx

python2和python3的pip package就这样可以完美分开了。

参考:

当同时安装Python2和Python3后,如何兼容并切换使用详解

Python 2.7.x 和 Python 3.x 的主要区别

查看python的安装路径

sys.executable可以获得python解析器的路径,它的上一级即为它的安装路径

>>>import sys
>>>path = sys.executable
>>>print(path)

C:\Users\yong-h\AppData\Local\Programs\Python\Python36

查看模块是否安装成功

若import不成功时,需要看下python启动时 命令行有没有其他异常信息。

Pip安装模块

Pip是python包管理工具,可以用来很方便地安装和管理各种三方库,Windows和linxu均可用pip。

linux中安装推荐用apt,eg:sudo apt install python-numpy

pip常用命令:

  • 安装软件包: pip install 包名

注:这里的包名,也可以是已经下载好的whl文件或tar.gz压缩包文件路径,或者包所在的URL地址。

  • 升级pip自身:pip install --upgrade pip
  • 查看已经通过pip安装的包:pip list
  • 显示当前已经通过pip安装的包及版本号:pip freeze
  • 【pip2 freeze】(默认)
  • 【pip3 freeze】
  • 将pip freeze命令的结果重定向到requirements.txt文件中:pip freeze > requirements.txt
  • 使用已有的requirements.txt文件在另一个环境上安装各种包(比如在一台新电脑上):pip install -r requirements.txt
    注:这个命令的好处就是,如果换了一个新的环境需要安装一个相同的python环境,那么只需要有requirements.txt文件即可快速安装,就不需要再思考要安装哪些包了。
  • 查看某个已经安装的包的详情:pip show 包名
  • 查看过期的包:pip list --outdated
  • 安装包到用户目录:pip install 包名 --user
  • 安装本地的安装包:pip install 目录|文件名
  • 卸载包:pip uninstall 包名
  • 升级包:pip install 包名 --upgrade
  • 显示包所在目录:pip show -f 包名
  • 搜索包:pip search 关键字
  • 查询可升级的包:pip list -o
  • 下载包但不安装:pip install 包名 -d 目录
  • 打包:pip wheel 包名

Wheel文件

wheel 本质上是一个 zip 包格式,它使用 .whl 扩展名,用于 python 模块的安装,它的出现是为了替代 Eggs(Eggs 格式是 setuptools 引入的一种文件格式,它使用 .egg 扩展名,用于 Python 模块的安装)

Python2下安装request模块不成功

检查以下几项

1、python2下的 pip没成功

cmd中运行 py -2 pip –V

2、下载whl文件安装

3、python2.7 的版本是32位还是64位

 

posted @ 2017-08-03 17:50  peterYong  阅读(745)  评论(0编辑  收藏  举报