Python软件的正确安装方式

自从年底临“危”受命 用python完成了一项抓取数据的工作之后,就对python产生了兴趣,特别是在最近AlphaGo 大战人类的科技顶级头条中,python更是作为AlphaGo的开发语言让我想一探python究竟的心迫切起来。

在安装了几个python相关软件之后,就发现这个过程有很多坑,然后便找到官方文档,决定将其翻译一下,并不是完全的翻译,挑其重点跟大家分享。

        链接地址:https://packaging.python.org/en/latest/installing/

        安装Python软件在英文里面被称之为 install pacakages, 指安装一系列软件,而不是python中你要import进来的第三方模块(modules),之所以用packages来替代,而不是distribution,是因为会与Linux中的distribution混淆,并且python本身作为一个大的软件有时候也会被称为distribution.


        安装python软件的工具

        pip, setuptools,weel, 一些系统版本是自带这些软件的,若要安装,请参考如下命令:

       安装pip:  get-pip.py  ,下载这个 https://bootstrap.pypa.io/get-pip.py  读读里面的英文注释,挺有意思的。运行此文件,python get-pip.py  一般会将 setuptooles 和 wheel 一并都安装了。 

       安装setuptooles:   pip install -U pip setuctools   

       安装wheel : pip install wheel


       创作虚拟环境

       为什么会说安装python相关软件值得我记录一下,不是用pip就好了么,究其原因是因为这里有坑,当我在啥都不知道的情况,凭着开发安装软件的一些经验运行pip install XX 时,会遇到 报错,包含permmison not defined 的字样,理所当然的想用  sudo , 但是现实情况是,当用了之后,有些软件成功安装,但有些软件依然报错,开始google, 于是找到了这样的一篇文章:http://stackoverflow.com/questions/33004708/osx-el-capitan-sudo-pip-install-oserror-errno-1-operation-not-permitted 

     文中提到需要创建虚拟环境来安装这些软件,是Mac OS对自身系统软件的保护策略,而虚拟环境则是python 相关软件安装的正确方式。

    两种方式: virtualenv  :  pip install virtualenv   

                                           virtualenv 

                                           source /bin/activate


                       pyvenv:       pyvenv

                                          source /bin/activate 


    <虽说用sudo 不太好,但是我在尝试这几条命令的时候,安装virtualenv 本身就会报错,需要sudo 权限,所以要看什么软件>

  虚拟环境是可以让你的python软件安装在一个独立的环境下,而不是全局环境下。想象下你需要不同版本的一个软件来支持你的不同应用,如果他们都在一个统一的安装目录下,势必会有一些问题,所以就需要一个虚拟的环境来承载不同版本的软件,不同的虚拟环境之间是不会共享的,两种命令可以创建虚拟环境,不同的是 支持的python版本不同,pyvenv 是高版本,而 virtualenv 支持低版本。


Pip or easy_install

话说在不知道虚拟环境一说的时候,在安装一个python软件时,碰到了即使用sudo同样也会报错的情况,便辗转去了easy_install的环抱,果然安装成功,那么两者的区别是什么呢?

官方文档的描述,只看出pip是在easy_install 之后出来的,然后软件安装的格式不一样(egg 和 wheel的区别 ),让 pip形式安装的软件更加强大。

你可能感兴趣的:(python)