一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

HackGou In Lamp|憨狗點(diǎn)燈 : 讓easy_install構(gòu)造自己的py t...

 sttx 2008-11-18

讓easy_install構(gòu)造自己的py thon小天地

在linux環(huán)境中玩、用python,常常需要安裝額外的一些python lib
但是由于權(quán)限的問題,我們一般是無法往系統(tǒng)中/usr/local之類的目錄
里面寫東西的,而這些額外的lib又非得需要一個(gè)site-packages目錄來安裝
不可,雖然可以指定pure-lib之類的參數(shù),但是很多時(shí)候還是會(huì)出錯(cuò),尤其是現(xiàn)在很多python
lib都是使用的setuptools來生成安裝包,更是如此要求了,

  1. [gavin@Korea downloads]$ ll /usr/local/python24/lib/python2.4/site-packages/
  2. total 24
  3. drwxr-xr-x  2 root root 4096 Dec 18 16:05 PIL
  4. -rw-r--r--  1 root root    4 Dec 18 16:05 PIL.pth
  5. -rw-r--r--  1 root root  119 Dec 18 14:59 README

這可麻煩了,每個(gè)文件都是root的,旁人只能看,
其實(shí)這兒有個(gè)很好的解決方法:在自己的目錄下面,安裝一個(gè)虛擬的python:
在自己的目錄下面建立一些lib、include等等的目錄,構(gòu)成一個(gè)獨(dú)立的python小天地,這樣,系統(tǒng)范圍內(nèi)沒有的python庫,就可以自己動(dòng)手安裝在自己的小天地中
安裝,既不需要root權(quán)限,又可以滿足自己的需求,一舉兩得。
這些安裝步驟,當(dāng)然不需要我們重新造輪子,下載
http://peak./dist/virtual-python.py
這個(gè)腳本,使用你喜歡的python(有的環(huán)境提供多個(gè)python版本,比如DreamHost)
執(zhí)行一下這個(gè)virtual-python.py,就會(huì)自動(dòng)在~/下面建立所需的目錄(~/bin、/lib、
~/include),以及所需python版本,以及創(chuàng)建python所依賴的其他的.h頭文件、.py庫文件等等軟鏈接,而且會(huì)在~/bin/下面copy一個(gè)可以執(zhí)行的python文件,以后直接使用這個(gè)~/bin/python來執(zhí)行py程序,它就會(huì)自動(dòng)找到額外安裝在小天地中的那些python庫了。如果覺得把bin、lib、include放在~下面不好可以給virtual-python.py指定一個(gè)–prefix參數(shù):

  1. [gavin@Korea bin]$ python24 virtual-python.py --prefix=~/python-lib
  2. [gavin@Korea bin]$ pwd
  3. /home/gavin/python-lib/bin
  4. [gavin@Korea bin]$ ll
  5. total 2360
  6. -rwxrwxr-x  1 gavin gavin 2404367 Dec 18 16:53 python

會(huì)把那些bin、lib、include安裝在~/python-lib下面,
這下,你就可以使用easy__install來安裝自己額外需要的那些庫了,
不過等等先,由于此時(shí)使用的easy_install是系統(tǒng)范圍的,所以它會(huì)把東西安裝在
/usr/local之類的目錄下,所以我們得給我們自己的環(huán)境安裝一個(gè)easy_install。
下載

  1. wget http://peak.telecommunity.com/dist/ez_setup.py
  2. ~/python-lib/bin/python ez_setup.py
  3. Downloading http://cheeseshop.python.org/packages/2.4/s/setuptools/setuptools-0.6c3-py2.4.egg
  4. Processing setuptools-0.6c3-py2.4.egg
  5. creating /home/gavin/python-lib/lib/python2.4/site-packages/setuptools-0.6c3-py2.4.egg
  6. Extracting setuptools-0.6c3-py2.4.egg to
  7. /home/gavin/python-lib/lib/python2.4/site-packages
  8. Adding setuptools 0.6c3 to easy-install.pth file
  9. Installing easy_install script to /home/gavin/python-lib/bin
  10. Installing easy_install-2.4 script to /home/gavin/python-lib/bin
  11.  
  12. Installed /home/gavin/python-lib/lib/python2.4/site-packages/setuptools-0.6c3-py2.4.egg
  13. Processing dependencies for setuptools==0.6c3
  14. [gavin@Korea downloads]$ ll ~/python-lib/bin/
  15. total 2376
  16. -rwxr-xr-x  1 gavin gavin     298 Dec 18 17:02 easy_install
  17. -rwxr-xr-x  1 gavin gavin     306 Dec 18 17:02 easy_install-2.4
  18. -rwxrwxr-x  1 gavin gavin 2404367 Dec 18 16:53 python

好了,我自己的easy_install已經(jīng)安裝好了,就可以使用它來安裝
自己想安裝的所有東西了,而且不用擔(dān)心權(quán)限的問題:

  1. [gavin@Korea downloads]$ ll ~/python-lib/lib/python2.4/site-packages/

我好像沒有simplejson呢,ok,安裝一個(gè),先:

  1. [gavin@Korea downloads]$ ~/python-lib/bin/easy_install simplejson
  2. Searching for simplejson
  3. Reading http://www.python.org/pypi/simplejson/
  4. Reading http://undefined.org/python/#simplejson
  5. Reading http://www.python.org/pypi/simplejson/1.4
  6. Best match: simplejson 1.4
  7. Downloading http://cheeseshop.python.org/packages/2.4/s/simplejson/simplejson-1.4-py2.4.egg#md5=4f18e31fd095cd54e5015e7b7a147093
  8. Processing simplejson-1.4-py2.4.egg
  9. Moving simplejson-1.4-py2.4.egg to
  10. /home/gavin/python-lib/lib/python2.4/site-packages
  11. Adding simplejson 1.4 to easy-install.pth file
  12.  
  13. Installed /home/gavin/python-lib/lib/python2.4/site-packages/simplejson-1.4-py2.4.egg
  14. Processing dependencies for simplejson
  15. [gavin@Korea downloads]$ ll ~/python-lib/lib/python2.4/site-packages/
  16. total 76
  17. -rw-rw-r--  1 gavin gavin   241 Dec 18 17:07 easy-install.pth
  18. lrwxrwxrwx  1 gavin gavin    51 Dec 18 16:53 PIL ->
  19. /usr/local/python24/lib/python2.4/site-packages/PIL
  20. lrwxrwxrwx  1 gavin gavin    55 Dec 18 16:53 PIL.pth ->
  21. /usr/local/python24/lib/python2.4/site-packages/PIL.pth
  22. lrwxrwxrwx  1 gavin gavin    54 Dec 18 16:53 README ->
  23. /usr/local/python24/lib/python2.4/site-packages/README
  24. drwxrwxr-x  4 gavin gavin  4096 Dec 18 17:02 setuptools-0.6c3-py2.4.egg
  25. -rw-rw-r--  1 gavin gavin    29 Dec 18 17:02 setuptools.pth
  26. -rw-rw-r--  1 gavin gavin 35898 Dec 18 17:07 simplejson-1.4-py2.4.egg
  27. [gavin@Korea downloads]$

非常漂亮

  1. [gavin@Korea downloads]$ ~/python-lib/bin/python
  2. Python 2.4.4 (#1, Dec 18 2006, 14:54:46)
  3. [GCC 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)] on linux2
  4. Type "help", "copyright", "credits" or "license" for more information.
  5. >>> import simplejson
  6. >>> dir(simplejson)
  7. ['JSONDecoder', 'JSONEncoder', '__all__', '__builtins__', '__doc__',
  8. '__file__', '__loader__', '__name__', '__path__', '__version__',
  9. 'decoder', 'dump', 'dumps', 'encoder', 'load', 'loads', 'read',
  10. 'scanner', 'write']
  11. >>>

這個(gè)法子對(duì)使用dreamhost這類的虛擬主機(jī)帶來的便利是非常好的,所有的都是自己獨(dú)立的,再也不用擔(dān)心Django找不到PIL、找不到……出錯(cuò)了,也不需要在fcgi轉(zhuǎn)發(fā)程序里面添加一堆的sys.path,美哉!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    嫩呦国产一区二区三区av| 日本av在线不卡一区| 日本一区不卡在线观看| 人体偷拍一区二区三区| 欧美精品亚洲精品日韩精品| 国产专区亚洲专区久久| 中文字幕乱码免费人妻av| 亚洲国产欧美久久精品| 俄罗斯胖女人性生活视频| 成人综合网视频在线观看| 黄色av尤物白丝在线播放网址| 在线欧美精品二区三区| 国产精品不卡一区二区三区四区| 日本高清加勒比免费在线| 青青草草免费在线视频| 国产极品粉嫩尤物一区二区| 小草少妇视频免费看视频| 亚洲天堂久久精品成人| 午夜日韩在线观看视频| 亚洲精品国产主播一区| 亚洲欧洲日韩综合二区| 日韩精品小视频在线观看| 夜夜嗨激情五月天精品| 国产精品视频一级香蕉| 日韩欧美国产精品中文字幕| 在线日韩中文字幕一区| 91爽人人爽人人插人人爽| 精品一区二区三区免费看| 日本精品理论在线观看| 日韩熟妇人妻一区二区三区| 日本人妻熟女一区二区三区| 亚洲熟女少妇精品一区二区三区| 小黄片大全欧美一区二区| 日韩精品中文字幕在线视频| 午夜福利大片亚洲一区| 亚洲精品一区二区三区日韩| 亚洲中文字幕高清乱码毛片| 欧美尤物在线视频91| 福利专区 久久精品午夜| 日韩不卡一区二区视频| 亚洲熟女熟妇乱色一区|