zoukankan      html  css  js  c++  java
  • 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:Usersyong-hAppDataLocalProgramsPythonPython36

    查看模块是否安装成功

    若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位

  • 相关阅读:
    LeetCode 242. Valid Anagram (验证变位词)
    LeetCode 205. Isomorphic Strings (同构字符串)
    LeetCode 204. Count Primes (质数的个数)
    LeetCode 202. Happy Number (快乐数字)
    LeetCode 170. Two Sum III
    LeetCode 136. Single Number (落单的数)
    LeetCode 697. Degree of an Array (数组的度)
    LeetCode 695. Max Area of Island (岛的最大区域)
    Spark中的键值对操作
    各种排序算法总结
  • 原文地址:https://www.cnblogs.com/peterYong/p/11295637.html
Copyright © 2011-2022 走看看