時間 : 201708 、 環境: Ubuntu 14.04
套件: pycurl、python-setuptools(easy_install)
問題說明:
因為程式上的需求,需要安裝pycurl套件在系統當中,
想透過pip去進行簡易安裝的時候,發現跳出錯誤,造成安裝失敗。
處理方式:
(1) 進行apt update
#apt-get update
(2) 檢查curl-config是否已經安裝
Ubuntu 14.04 狀態下是沒有安裝的。
Ubuntu 16.04 已經安裝完成。
用 whereis 來檢查安裝狀況。
#whereis curl-config
如果有裝安裝,就會向下面一樣顯示路徑。
ryu@ubuntu:~$ whereis curl-config
curl-config: /usr/bin/curl-config /usr/bin/X11/curl-config /usr/share/man/man1/curl-config.1.gz
如果沒安裝,只會有名稱,但沒有路徑
ryu@ubuntu:~$ whereis curl-config
curl-config:
那我們這邊簡單試一下,curl-config會需要那些套件。
ryu@ubuntu:~$ curl-config
The program 'curl-config' can be found in the following packages:
(3) 來準備我們的安裝工具(easy-tool)跟他的lib
#sudo apt-get install python-setuptools
#sudo apt-get install libxtst-dev
當這邊安裝完成,我們就可以用easy_install 指令去安裝套件了。
這邊我們要安裝的是 pycurl
#sudo easy_install pycurl
#!#############################################
ryu@ubuntu:~$ sudo easy_install pycurl
Searching for pycurl
Reading https://pypi.python.org/simple/pycurl/
Downloading https://pypi.python.org/packages/12/3f/557356b60d8e59a1cce62ffc07ecc03e4f8a202c86adae34d895826281fb/pycurl-7.43.0.tar.gz#md5=c94bdba01da6004fa38325e9bd6b9760
Best match: pycurl 7.43.0
Processing pycurl-7.43.0.tar.gz
Writing /tmp/easy_install-G0C_V_/pycurl-7.43.0/setup.cfg
Running pycurl-7.43.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-G0C_V_/pycurl-7.43.0/egg-dist-tmp-Vfnu3d
Using curl-config (libcurl 7.35.0)
warning: no files found matching 'src/Makefile'
zip_safe flag not set; analyzing archive contents...
Moving pycurl-7.43.0-py2.7-linux-x86_64.egg to /usr/local/lib/python2.7/dist-packages
Adding pycurl 7.43.0 to easy-install.pth file
Installed /usr/local/lib/python2.7/dist-packages/pycurl-7.43.0-py2.7-linux-x86_64.egg
Processing dependencies for pycurl
Finished processing dependencies for pycurl
#!###############################################
有看到安裝成功是非常開心的。
但安裝成功不代表可以使用,我們還是要來測試一下。
如果安裝錯誤訊息:
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
如果出現問題且gcc已經安裝完成了,
那我們注意一下python-dev有沒有正確安裝
#sudo apt-get install python-dev
基本上這邊安裝好後,重新測試一次安裝pycurl就會成功了。
測試階段:
安裝後要進行pycurl有沒有安裝成功,
最簡單的方法就是進入python的環境下測試
這邊import pycurl 沒有出現其他錯誤提示訊息,就表示成功了。
ryu@ubuntu:~$ python
Python 2.7.6 (default, Oct 26 2016, 20:30:19)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
#import pycurl
#quit()
後記:
就以這次安裝問題來說,原本我是打算用最簡單的方式來安裝pycurl
也就是使用pip,但使用pip安裝時跳出了下面的問題。
#sudo pip install pycurl
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-HtcwQj/pycurl/
上網查發現,很多人都說跟相依性套件有關係。
但絕大多數人都在說CentOS上使用pip安裝錯誤該安裝甚麼套件。
這部分已經有很多人介紹,所以就不多說。
反倒是沒有很多說ubuntu該怎麼辦的。
所以我的ubuntu環境就改用easy_install的方法去進行安裝。
而在CentOS下要使用easy_install的話,只要安裝下面的套件就可以執行了
#yum -y install libcurl-devel
#easy_install pycurl
(全篇完)
參考網址:
http://mycodetub.logdown.com/posts/745281-install-ubuntu-1604-pycurl
辛苦了,不過我在 ubuntu 16.04 python 3 使用 pip3 安裝沒有任何問題喔。
真好,其實我也是有想改用ubuntu16.04,
但很難割捨跟了我好幾年的ubuntu14.04,
所以就只好盡量的爬文幫助自己了XD