自制Python并写入/Library/Python/2.7/site-packages/?

时间:2012-06-07 09:13:46

标签: python homebrew

是否有关于如何正确安装Homebrew Python以及pip,virtualenv,virtualenvwrapper等的明确指南?

我已阅读以下页面:

https://github.com/mxcl/homebrew/wiki/Homebrew-and-Python
http://osxastrotricks.wordpress.com/2012/05/02/python-setup-with-homebrew/
http://skipperkongen.dk/2011/11/13/installing-django-in-virtual-environment-on-mac/
http://www.thisisthegreenroom.com/2011/installing-python-numpy-scipy-matplotlib-and-ipython-on-lion/
http://youshoulddoityourself.blogspot.com.au/2010/11/test.html

我有OSX 10.8(Mountain Lion)DP3,我安装了XCode命令行工具。

我也安装了XQuartz,以防万一(10.8不提供)。

然后我跑了:

brew install python  --universal --framework

我在~/.bash_profile添加了以下内容:

export PATH="/usr/local/bin:/usr/local/share/python:${PATH}"
然后我跑了:

sudo easy_install pip

似乎有用。

我检查pip的安装位置:

 Victors-MacBook-Pro:~ victorhooi$ which pip
/usr/local/bin/pip

然而,当我尝试pip安装包时,我收到一个错误,抱怨无法写入/Library/Python/2.7/site-packages:

running install_lib

creating /Library/Python/2.7/site-packages/yolk

error: could not create '/Library/Python/2.7/site-packages/yolk': Permission denied

----------------------------------------
Command /usr/bin/python -c "import  setuptools;__file__='/Users/victorhooi/build/yolk/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /var/folders/gg/m37t1rkx4zj7z54ls487jfc40000gn/T/pip-ap7LSB-record/install-record.txt failed with error code 1 in /Users/victorhooi/build/yolk
Storing complete log in /Users/victorhooi/Library/Logs/pip.log

我的理解是,Homebrew的Python会安装到它自己的站点包中,而且我不需要在文件系统树上做奇怪的chown就能让事情发挥作用?

干杯, 维克多

3 个答案:

答案 0 :(得分:10)

与此同时,自制软件的python已经发展:

  • 通过brew安装的Python不再尝试写入/Library/Python
  • Homebrew的Python现在总是使用自己的站点包。
  • pip(和distribute)会自动安装。
  • 不需要“--framework”选项。 Homebrew现在默认为它。
  • 需要XQuartz(不幸的是)因为Tk标题链接到X11标题。

.bashrc中的PATH是正确的(并且仍然需要)。

答案 1 :(得分:2)

请作为一个确切位置的人,首先开始使用虚拟环境,然后点击其余部分。它们很棒,并将解决这个问题和未来的许多问题。

答案 2 :(得分:-1)

现在已经有Mountain Lion 10.8.2了,我从Lion那里得到了遗留的Python 2.7,但是没有用。无论我尝试什么,Python都想访问/ Library / ..没有好处。简单的解决方案是brew uninstall python然后brew install python这解决了与ML上的自制程序几乎所有Python相关的问题。