python control_Python version control on Mac

MAC INSTALL PYTHON AND PACKAGE MANAGER

​ Mac 系统10.x 之后会自带Python,它适合用于学习,不适合用来开发,因为一旦系统升级就有可能Python版本就会发生改变;Python是和系统绑定的,Homebrew是包管理器,可以永远获取最新版本的Python和pip以及Setuptools;改变OS X的Python版本有可能会触发系统隐藏的bug。

​ brew -> xcode -> python/python3 -> virtualenv

​ brew install python

​ brew install python3

​ pip install virtualenv

​ mkdir -p ~/Projects ~/Virtualenv

‘将pip限制在虚拟环境中,这样virtualenv默认使用pip管理包,且只能使用在激活环境中使用,而不会影响系统python的环境’

​ vim ~/.bash_profile

​ Add new one line:export PIP_REQUIRE_VIRTUALENV=true

​ source ~/.bash_profile

​ cd ~/Virtualenvs

‘创建两个版本的项目,分别使用的时python2和python3’

​ virtualenv foobar

​ virtualenv -p python3 foobar-py3

'升级全局到包'

​ vim ~/.bashrc

Add one new line: gpip(){ PIP_REQUIRE_VIRTUALENV="" pip "$@" }

​ gpip install --upgrade pip setuptools wheel virtualenv

​ 应该安装类似于Setuptools之类用来安装第三方的Python类库。

安装Python需要GCC的支持,GCC用XCode下载。

Mac OSX 缺一个包管理器,Homebrew能弥补这个空白。

安装 Homebrew 可以去 官网 首页获取安装命令,一行即可完成。 brew install python

Homebrew 会替你安装 Setuptools 和 pip ,Setuptools 可以用 easy_install 替你下载和安装网络上的相应的Python包,也可以很简单的通过网络安装兼容Python版本的包。pip 是更容易安装和管理Python包的工具,相比于 easy_install ,更推荐这个pip。 在某些方面它比 easy_install 更好,且积极维护着。

虚拟环境是通过创建虚拟的Python环境,让在不同位置的不同项目保持独立性的工具。

​ virtualenv 是能创建分离的Python环境的工具。virtualenv创建一个文件夹来包含Python项目执行所需要的包,安装 pip install virtualenv

virtual 基本用法

​ 1. 为项目创建虚拟的环境

​ cd my_project_folder

​ virtualenv venv OR virtualenv -p /usr/bin/python2.7 venv

​ 'virtualenv venv' 将在当前目录创建包含Python可执行文件的文件夹,和一份pip类库的复制,这样可以用pip来安装其它的包。virtualenv的环境名可以是任意的,这里是env;不指定名字将会把文件放在当前所在的目录,用 -p 可以指定python 环境。

​ 使用 --no-site-packages 该参数,系统全局安装的包将不会被带入到新建的环境中,该参数走virtualenv 1.7版本之后是勾选的。

​ 2.激活该环境

​ source venv/bin/activate

​ 激活环境成功的话,bash提示符就会发生改变,那么现在用pip安装的包都将在这个env环境中。

​ pip install requests

​ 3.关闭环境

​ deactivate

​ 这将会将你带回到系统默认的Python解释器。

那么删除虚拟环境,只要删除它的文件夹就好。

Mac OS中主要有三种包管理工具:MacPorts,Homebrew,Fink。

1. MacPorts:因为 Mac OS 源自 BSD,因此将 BSD 中的 Port 移植到 OS 成为 MacPorts 就一点不奇怪。MacPorts 会独立于 OS 自建一套仓库树,OS 的包执行目录为 /usr/local,而 MacPorts 的包执行目录为 /opt/local。MacPorts 尽量不影响系统现有程序,自然也就尽量少复用系统已有程序。MacPorts 安装包的过程是下载该程序的所有源文件及其依赖包,然后在本地进行 Build 生成最终的可执行文件。这样做的好处是在系统中存在一套独立的生态环境,从而不影响系统自身的生态环境,缺点就是浪费了系统自身的生态资源。

2. Homebrew:在 Lion 之后兴起的包管理工具,工作方式与 MacPorts 类似,下载源代码然后本地 Build。不同之处在于 Homebrew 采取与 MacPorts 截然相反的态度,对系统资源是最大程度的利用,因此可以说 Homebrew 是直接对现有系统生态环境进行修改,所有包也是直接安装到现有的生态环境中,这样做的好处是节约了系统资源,但缺点是每一次操作都是直接对系统进行修改,严重依赖和影响现有系统。

3. Fink:基于 Debian 的 packaging tools,它下载的都是已编译后的二进制可执行文件(或源码),因此无需本地编译,即下即用。缺点是所有包都需要 Fink 预先编译,导致更新速度跟不上。

python version manager ??? virtualenv pyenv vagrant Anaconda pip Anaconda

Pythonbrew: Not maintain anymor.

Pyenv:

​```

brew update

brew install pyenv

pyenv --help

pyenv commands

brew install pyenv-virtualenv

pyenv install --list

pyenv install x.x.x #install python with version number

pyenv versions #list current python version

pyenv global system #checkout the python to system version

pyenv virtualenv x.x.x myvenv #create python version with named "myenv"

pyenv virtualenvs #show python virtualenv

pyenv shell myvenv #active python virtualenv

Virtualenv 是一个虚拟环境程序,可以把开发环境隔离。基本思想是建立不同的环境目录,其中装有独立的各类包,甚至也可以是独立的不同版本python程序。

ref:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值