iT邦幫忙

0

pycurl無法使用pip安裝怎麼處理@ubuntu

Joejo 2017-08-21 09:04:5112192 瀏覽

時間 : 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:

  • libcurl4-gnutls-dev
  • libcurl4-nss-dev
  • libcurl4-openssl-dev
    Try: sudo apt-get install
    提示訊息都那麼清楚了,那我們就遵照他的步驟來進行吧。
    #sudo apt-get install libcurl4-gnutls-dev
    #sudo apt-get install libcurl4-nss-dev
    #sudo apt-get install libcurl4-openssl-dev
    安裝完這三個套件,curl-config就算正式安裝完畢。

(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

文章引用自我的BLOG:
http://it001.pixnet.net/blog/post/325851562-it%e4%ba%8b%e4%bb%b6%e7%b0%bf-pycurl%e7%84%a1%e6%b3%95%e6%ad%a3%e7%a2%ba%e4%bd%bf%e7%94%a8pip%e5%ae%89%e8%a3%9d%e6%80%8e%e9%ba%bc%e8%be%a6%3f%28ubun


1 則留言

0
froce
iT邦新手 3 級 ‧ 2017-09-07 09:34:03

辛苦了,不過我在 ubuntu 16.04 python 3 使用 pip3 安裝沒有任何問題喔。

Joejo iT邦新手 5 級 ‧ 2017-09-10 16:58:23 檢舉

真好,其實我也是有想改用ubuntu16.04,
但很難割捨跟了我好幾年的ubuntu14.04,
所以就只好盡量的爬文幫助自己了XD

我要留言

立即登入留言