2013-10-08 35 views
1

我設法在我的MacBook手動安裝PIL卸載PIL(不包管理器,請不要回答使用Xcode的,因爲我想手動做到這一點)。如何手動從OSX(雪豹)

不需要答案:

  • 剛剛安裝的Xcode /抱枕/ use pip /等

我要找的答案可能是:

  • 一個python腳本,將做到這一點在你的系統中可以在這裏找到
  • 使用這些終端命令
  • 不太好的:安裝PIL的文件都在這裏,這裏和這裏,刪除

我使用這些命令除其他:

python setup.py build 
sudo python setup.py install 

而且我得到了這樣的結果:

-------------------------------------------------------------------- 
PIL 1.1.7 SETUP SUMMARY 
-------------------------------------------------------------------- 
version  1.1.7 
platform  darwin 2.6.1 (r261:67515, Jun 24 2010, 21:47:49) 
       [GCC 4.2.1 (Apple Inc. build 5646)] 
-------------------------------------------------------------------- 
--- TKINTER support available 
--- JPEG support available 
--- ZLIB (PNG/ZIP) support available 
*** FREETYPE2 support not available 
*** LITTLECMS support not available 
-------------------------------------------------------------------- 
To add a missing option, make sure you have the required 
library, and set the corresponding ROOT variable in the 
setup.py script. 

我的問題(我將在另一個問題中解決)是我需要FREETYPE2支持,但第一步是使用python腳本或終端正確卸載PIL。我的系統有一個英特爾處理器,是OSX版本10.6.8

感謝

+0

您是否爲Apple的預裝Python 2.6或不同的Python安裝安裝了此版本? – abarnert

+0

同時,希望你現在明白爲什麼你應該做'pip安裝枕頭',爲什麼你應該這樣做後,你刪除舊版本,所以你再也不必這樣做。 :) – abarnert

+0

堅持......你不想使用點子的唯一原因是它說你已經有了最新的需求?你嘗試過傳遞'--force-reinstall'嗎? – abarnert

回答

3

有沒有簡單的腳本就可以運行,這將在所有情況下做到這一點。 (這就是pip被髮明的很大一部分原因......)


蘋果預裝的Python 2.6設置爲默認站點包目錄:

/Library/Python/2.6/site-packages 

...和它的腳本目錄:

/usr/local/bin 

因此,sudo python setup.py install將安裝一切到這兩個目錄。

如果您使用的是第三方Python,或者更改了配置,地點可能是在其他地方,所以我稱這些爲$ {sitedir}和$ {BINDIR}以下。

正是你安裝的東西取決於哪個版本PIL或安裝枕頭。隨着PIL的最後幾個版本,它應該是:

  • $ {} sitedir/PIL
  • $ {} sitedir /PIL-xyz-py2.6.egg-info
  • $ {BINDIR} /pil*.py(5個文字)

取決於你有setuptools和/或安裝distribute的方式,你可能沒有egg-info目錄。使用枕頭,egg-info文件被命名爲Pillow-x.y.z-py2.6.egg-info。對於較老的PIL,您可能只有四個腳本而不是五個。

無論如何,如果你有egg-info目錄,請看裏面的installed-files.txt。所有這些文件,相對於egg-info目錄本身,都是安裝的。但是,僅將該文件傳遞到rm -rf將會留下沿途自動創建的任何目錄 - 最顯着的是,包目錄爲${sitedir}/PIL。你可能會編寫一個腳本,刪除每個文件,然後刪除所有空的結果作爲結果...但如果你碰巧在/usr/local/bin沒有其他任何東西,這可能是一個壞主意。因此,它可以作爲驅動或仔細檢查手動清理的指導,但它不會使所有內容都自動進行。