Homebrew,PIP,easy_install等如何工作以便我可以清理

时间:2012-05-04 20:48:04

标签: python macports pip homebrew easy-install

我有一个问题,来自我的教程,但没有真正理解我在做什么。我认为问题的根源是我不明白OS X文件系统的工作原理。

问题比Python更大,但是当我开始学习Python时,我意识到我真的很难理解。所以在开始的时候我开始关注教程,这导致我经常使用easy_install命令,当很多教程推荐PIP我从来没有运行它。所以我运行了很多命令并安装了很多不同的软件包。

据我所知,Lion附带了一个python安装程序。我一直在使用它,因此我安装了easy_install的各种软件包。有没有办法回到默认安装并从一开始就开始?这是我想做的事吗?如果是这样的话?

使用我用Homebrew安装的Python版本有什么好处吗?当我运行Python命令时,如何查看Python的运行位置?

当我用easy_install,homebrew,macports等安装东西时,实际上最终会在哪里安装?

2 个答案:

答案 0 :(得分:26)

Homebrew将其软件安装在Mac上的/usr/local子目录中。 OS X不会自行安装任何东西;事实上,/usr/local是为用户安装的东西保留的。由于Homebrew永远不会在/usr/local之外安装文件(甚至没有能力,除非你使用brew运行sudo - 这是 recommended_)和OS X永远不会在里面安装文件,从来没有两者混合。

默认情况下,

easy_installpip将文件安装到系统目录中。这就是为什么你必须用sudo运行这些命令来安装它们的包。

无论您使用哪种操作系统,我都不能推荐virtualenv。它会在您选择的目录中安装Python的副本以及您需要的任何软件包或模块。例如:

$ cd /tmp
$ virtualenv foo         
New python executable in foo/bin/python
Installing setuptools............done.
Installing pip...............done.
$ cd foo
$ bin/pip install sqlalchemy
Downloading/unpacking sqlalchemy
  Downloading SQLAlchemy-0.7.7.tar.gz (2.6Mb): 2.6Mb downloaded
  Running setup.py egg_info for package sqlalchemy
[...]    
Successfully installed sqlalchemy
Cleaning up...

[work, work, work]
[decide this was a bad idea]
$ cd /tmp; rm -rf foo

......现在项目的所有痕迹都已完全消失。

使用easy_install将virtualenv安装到OS X本身 - 就像你为其他软件包做的那样 - 但是然后在隔离目录中进行所有新开发,你可以立即擦除干净。这几乎是目前开发和部署Python应用程序的标准方法。

答案 1 :(得分:2)

使用通过Homebrew或MacPorts等软件包管理器安装的Python的优点是,它提供了一种删除Python安装并重新安装它的简单方法。此外,您可以安装比Mac OS X提供的版本更新的版本。