2011-07-05 51 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服務器上執行此操作。