2011-07-05 120 views
2

我试图在Mac上设置Django开发环境并进入地狱。这一切开始时,试图安装PIL,尝试15个左右不同的食谱后,我发现博客上失败。所以我想安装Python,这次是2.7,并从头开始重新安装setuptools,easy_install,pip。Django - Mac开发,环境地狱

刚刚安装了Python 2.7,easy_install和setuptools for 2.7之后,这又造成了一个令人难以置信的混乱。不同版本的Python随处安装,easy_install随处安装并随机指向不同的python hashbangs(有时为#!/ usr/bin,#!/ Library/...)

现在我甚至无法做easy_install pip,我总是可以做到。所以我已经陷入了困境,我甚至还没有试图安装MySQL。

我的问题终于有人碰到这样的问题,这将有助于知道我并不孤单。

其次,在Ubuntu上设置整个环境比在Mac上更容易吗?

第三,是否有任何指导可以真正清楚地解释如何设置,但也可以拆卸Mac上的Python开发堆栈?

+0

混淆与系统库可能是凌乱的。我建议查看Homebrew或Macport,这样你就不需要从头开始安装这些东西。 –

+0

我确实安装了Python 2.7,在这种情况下,我设法安装了easy_install和pip,但未能安装PIL。然后我brew卸载Python 2.7,使用DMG,然后在安装pip时失败。看起来你需要一个更大的团队来承担在Mac上维护Python环境的带宽。 – Ska

回答

3

我已经通过同样的地狱2个星期前:)

我需要作出OSX 10.6.8运行的Python 2.7和virtualenv中消失了。 你还没有在你的问题中提到virtualenv,但我强烈推荐它。这样可以尽量减少全局安装的软件包数量。一切都是......更清洁。 我的想法是唯一在全球拥有以下几件事:

  • 蟒(从BREW)
  • PIP(通过easy_install的)
  • 的virtualenv(通过PIP)
  • virtualenvwrapper(通过PIP)
  • 其他通过任的virtualenv或扩建

我刚刚检查和PIP PIL我的virtualenv中安装的罚款。

这里是笔记这场战斗(gist.github.com):

#NOTE: .pydistutils.cfg seems to be not compatible with brew install python 
#areas I needed to clean before installation 
#clean up ~/Library/Python 
#clean up .local 
brew install python 
easy_install pip 
pip install virtualenv 
pip install virtualenvwrapper 
mkdir $HOME/.virtualenvs 

例的.bash_profile:

#homebrew 
export PATH=/usr/local/bin:/usr/local/sbin:${PATH} 

# homebrew python 2.7 
export PATH="/usr/local/share/python:${PATH}" 

#virtualenv wrapper 
export WORKON_HOME=$HOME/.virtualenvs 
source /usr/local/share/python/virtualenvwrapper.sh 

祝你好运!

4

vagrant运行虚拟机并不会有什么坏处。这篇文章应该告诉你更多: http://stevelosh.com/blog/2011/06/django-advice/

当然,使用virtualenv也应该有助于缓解这些问题。

+0

我甚至无法通过easy_install达到Python 2.7的目标,这样我就可以安装PIP,以便安装virtualenv。我从DMG安装了Python2.7,安装了setuptools-0.6c11-py2.7.egg,然后尝试用easy_install安装PIP,但得到了这个:AttributeError:'module'对象没有属性'__getstate__'。然后我检查了一下文件系统以找到一个完整的混乱。 – Ska

+0

我仍然会推荐使用虚拟机,除非您计划部署到OS X服务器。您应该在最接近生产实例的环境中开发。 –

+0

如果Mac真的不适合Django dev,我也可以在VMWare上安装Ubuntu。那或者我们放弃Django并使用别的东西。 – Ska

1

Second, would it be easier to set up the entire environment on Ubuntu than it is on a Mac?

回答这个问题(尽管我从来没有用过Mac):我从来没有在Ubuntu上为Django开发设置python环境的问题。尽管在任何情况下,您都应该尽可能使用内置的Python版本。试图安装任何其他Python版本通常最终会变得混乱。幸运的是,Ubuntu 11.04的标准版本已经是2.7了。

+0

臭名昭着的PIL呢?安装和使用它有没有问题? – Ska

+0

不,不在Ubuntu中。 'PIP安装PIL'或'apt-get python-imaging'都适用于我。虽然也更好地决定你想安装哪一个。 :) –

1

我在使用python 2.7的MAC OS X 10.8上使用django开发环境。我不使用virtualenv一些其他的东西。

所有的尊重可以说,没有任何问题在Mac上开发。 Mac是一个UNIX系统,你可能已经看到所有开发者的工具都有MAC端口。

至于设置混乱。使用virtualenv是个好主意。至于PIL安装。我需要用TrueType进行编译。由于我和UNIX一样,对于使用GCC编译PIL(它已经安装在MAC上)来说,编译PIL并不是一项繁重的任务...... Django设置virtualenv有一些麻烦......当然,大量文章在Google上进行设置。

我使用Eclipse并在那里写下所有我的PYTHONPATH变量。你可以忘记安装Linux中的所有东西,并且尽量不要再使用已安装的工具。如果您觉得您可以使用Eclipse在MAC上进行开发,请尝试使用read THIS文章。它也有避免安装许多Python和其他开发工具副本的麻烦。

0

是的我有问题与MacOS。我认为,而不是试图找出它,我只是切换到Ubuntu。我使用安装在VMware Fusion中的Ubuntu的Mac。我已经开发了这两种软件,并且更喜欢Ubuntu,因为我更喜欢安装软件包和文件结构。

我喜欢使用虚拟机,因为我从不害怕重新开始。我可以安装一个全新的操作系统,并在几个小时内获得我使用的软件包。更不用说6个月的推广,我可以完成新版本的安装而不是更新。

根据您的生产环境,使用类似的操作系统可能是有益的,如果您可以在ubuntu桌面上安装软件包,您已经知道如何在ubuntu服务器上执行此操作。