2010年10月18日 星期一

安裝 cURL、Python 和 PycURL @ Ubuntu Server

由於工作用的桌機有防火牆的問題,所以我必須找一台可以連外的 server,接著又發現他提供的 python 並沒有 PycURL,因此我一路從 cURL 裝起,順便紀錄一下。


其實我有 root 權限,只是機器不是我的,少動為妙 XD



  1. 安裝 Python

    • $ wget http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tar.bz2

    • $ tar -xvf Python-2.6.6.tar.bz2

    • $ cd Python-2.6.6

    • $ ./configure ./configure --prefix=/home/user/tarball && make && make install



  2. 安裝 cURL

    • $ wget http://curl.haxx.se/download/curl-7.21.2.tar.bz2

    • $ tar -xvf curl-7.21.2.tar.bz2

    • $ cd curl-7.21.2

    • $ ./configure --prefix=/home/user/tarball --without-ssl && make && make install



  3. 安裝 PycURL

    • $ wget http://pycurl.sourceforge.net/download/pycurl-7.19.0.tar.gz

    • $ tar -xvf pycurl-7.19.0.tar.gz

    • $ cd pycurl-7.19.0

    • $ /home/user/tarball/bin/python setup.py install




正當我以為一切都很美好,跑了程式後蹦出了訊息:


Fatal Python error: pycurl: libcurl link-time version is older than compile-time version


仔細一看,原來系統已有的 curl 是 7.18.2 版本(可以用 curl -V 查看),比我安裝的還要低,因此會出包,原先想要學其他人更改 lib 的位置,可是這樣惡搞下去不就等於用 root 亂搞了嗎,所以最後挑 curl 7.18.2 和 pycurl-7.18.2 的版本來編就好。


再這之前還試過安裝 curl 7.19.0 和 pycurl-7.19.0,但還是一樣的訊息,所以結論?若系統已有 curl 的話(用 which curl 和 curl -V 來判斷跟得知版本),還是偷懶挑跟系統一樣的版本來裝吧。


沒有留言:

張貼留言