管理Mac的Python环境

栏目: Python · 发布时间: 6年前

内容简介:管理Mac的Python环境

问题描述

我的Mac自带了版本为2.7.10的 Python 却没有用于管理依赖的 pip 工具。而我在使用刚开始学习 Python 时,从其官网下载了安装脚本安装了3.6版本的 Python 。脚本自动配置了环境变量,导致 pip 引用了3.6版本的 pip3 ,我找遍了整个硬盘都无法找到版本2.7对应的 pip

尴尬的是,目前有一份用 Python2 写的代码放在我面前,而我却因为无法安装依赖而无法执行它。我觉得这样的开发环境有问题,得找个方法解决它。

调研

在网上翻了一轮,看见了部分网友警告不要自己给系统自带的 Python 添加 pip 工具,原因是有可能导致系统异常。至于有何种异常我不想深究,我关注的是他们推荐使用 HomeBrew 管理自己的 Python 版本,保持系统的完整性。

解决步骤

1. 删除通过 Python 官网脚本安装的 python 3.6

由于我自己安装过 Python ,所以需要执行这一步。对于没有安装过的读者可以跳过这一步。

我参考了 Python 官房文档对脚本安装的描述。请查看 这里 。文档介绍了脚本会对系统做哪些改动,对应地我们把这些改动恢复即可。详细操作如下:

  1. 删除 /Library/Frameworks/Python.Frameworks
  2. 删除 /Application/Python 3.6
  3. 删除 .bash_profile 文件中导出的有关Python3.6的路径和环境变量,然后使用 source ./bash_profile 命令让改动生效。

使用 HomewBrew 安装 Python2Python3

安装方法网上有很多介绍,我是参考了 “MAC OSX 正確地同時安裝 PYTHON 2.7 和 PYTHON3” 这篇文章。

不过我没有执行这篇文中介绍的修改环境变量顺序的步骤。我觉得这一步多余了。

经过这个步骤, HomeBrew 为我管理了两个版本的 Python ,分别是2.7.14和3.6.4,在 /usr/local/bin/ 目录下有相关命令。同时系统还有一个自带2.7.10版本的,放在 /usr/bin 目录中。

使用方法与优劣分析

以后开发过程中使用 Python2 的时候应该使用命令 python2 而不是使用 python 。因为,我的环境中命令 python 是MacOS自带的2.7.10版本。而命令 python2 则调用 HomeBrew 管理的 python2.7.14 ,它在 /usr/local/bin/ 目录中,是一个软链接,链接到 /usr/local/Cellar/python/2.7.14_2/bin/python2 中。命令 python3 同理。因此开发时需要区分这三者,这看起来有点别扭。

但我认为使用 python2python3 显式指定版本没什么坏处,多一个字符而已。

我们有必要保持系统自带的 Python 环境的完整性。一方面,不在这样做可能导致你使用的第三方 Python 库对系统的产生影响。例如:你自己安装 pip 工具可能出现它依赖的其他库你没有完整提供。另一方面,系统自带的 Python 主要是服务于那些为Mac量身定做的软件,如果你私自改动可能会导致将来你的安装的软件运行出现异常。

这种方案在对 Python 代码进行打包发布时也有好处。如果你是开发 Python 应用软件的人,你可以显式指定版本进行开发工作,只要在打包或者发布的时候为用户的环境设身处地的进行配置即可。生成的包还可以在Mac原生的 Python 环境下进行alpha测试,因为这个环境跟目标用户的环境应该是一致的。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Hive编程指南

Hive编程指南

卡普廖洛 (Edward Capriolo)、万普勒 (Dean Wampler)、卢森格林 (Jason Rutherglen) / 曹坤 / 人民邮电出版社 / 2013-12-1 / 69

市场中第一本Hive图书。 Hive在Hadoop系统中的应用趋势比较可观。一起来看看 《Hive编程指南》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

html转js在线工具
html转js在线工具

html转js在线工具