2012-05-04 29 views
19

我有一个问题,来自我下面的教程没有真正理解我在做什么。我认为问题的根源在于我不了解OS X文件系统的工作原理。如何自制,PIP,easy_install等工作,以便我可以清理

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

正如我所了解的,狮子自带了一个python安装程序。我一直在使用这个很多,从这里我已经用easy_install安装了各种软件包。有什么方法可以回到默认安装并从一开始就开始?这是我想要做的吗?如果是这样,为什

使用我用Homebrew安装的Python版本有没有什么好处?如何在运行Python命令时从Python的运行位置看到?

当我安装easy_install,homebrew,macports等东西实际上最终结束了什么?

+0

你可以使用“which”来检查一个unix程序的位置,例如'which which python',它也适用于像'which which cd'这样的东西,它应该输出你当前使用的版本的路径。 – Lockyer

回答

24

Homebrew将其软件安装在Mac上的/usr/local子目录中。 OS X不会自行安装任何东西;实际上,/usr/local保留给用户安装的东西。由于自制从未安装文件外/usr/local(甚至不具备的能力,除非你使用sudo运行brew - 这是 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

我可以吻你。谢谢Captn。 – o01

+0

没有必要的吻,但你很受欢迎。 –

2

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

相关问题