1. 程式人生 > >centos7 安裝 pyspider 出現的一系列問題及解決方案集合

centos7 安裝 pyspider 出現的一系列問題及解決方案集合

blue ext ner res all bzip2 ssi cto uri

先安裝python3 和 pip3

wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz

安裝zlib-devel包(後面安裝pip需要用到,這裏先下載,後面就不用重復編譯)

yum install zlib-devel

tar -xvf Python-3.6.5.tgz

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

./configure --prefix=/usr/local/python3/ --with-zlib=/usr/include --enable-loadable-sqlite-extensions

make && make install
ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3

pip3 安裝

wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb

tar -zxvf pip-8.0.2.tar.gz
cd pip-8.0.2
sudo python3 setup.py build
sudo python3 setup.py install
sudo ln -s /usr/local/python3.4/bin/pip3 /usr/bin/pip3

出現的錯誤

Collecting pycurl (from pyspider)
Downloading https://files.pythonhosted.org/packages/e8/e4/0dbb8735407189f00b33d84122b9be52c790c7c3b25286826f4e1bdb7bde/pycurl-7.43.0.2.tar.gz (214kB)

100% |████████████████████████████████| 217kB 172kB/s
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "/tmp/pip-build-ffrwekm7/pycurl/setup.py", line 223, in configure_unix
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
File "/usr/local/python3/lib/python3.6/subprocess.py", line 709, in __init__
restore_signals, start_new_session)
File "/usr/local/python3/lib/python3.6/subprocess.py", line 1344, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: ‘curl-config‘: ‘curl-config‘

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-ffrwekm7/pycurl/setup.py", line 913, in <module>
ext = get_extension(sys.argv, split_extension_source=split_extension_source)
File "/tmp/pip-build-ffrwekm7/pycurl/setup.py", line 582, in get_extension
ext_config = ExtensionConfiguration(argv)
File "/tmp/pip-build-ffrwekm7/pycurl/setup.py", line 99, in __init__
self.configure()
File "/tmp/pip-build-ffrwekm7/pycurl/setup.py", line 227, in configure_unix
raise ConfigurationError(msg)
__main__.ConfigurationError: Could not run curl-config: [Errno 2] No such file or directory: ‘curl-config‘: ‘curl-config‘

在安裝 pyspider 的時候我就遇到了這個問題, pyspider 依賴 pycurl 這個庫,而 pycurl 要求系統中存在相對應的庫。(如果系統自動安裝我們要先卸載)

Collecting pycurl
Using cached https://files.pythonhosted.org/packages/e8/e4/0dbb8735407189f00b33d84122b9be52c790c7c3b25286826f4e1bdb7bde/pycurl-7.43.0.2.tar.gz
Complete output from command python setup.py egg_info:
Using curl-config (libcurl 7.29.0)
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-5y2xk7rz/pycurl/setup.py", line 913, in <module>
ext = get_extension(sys.argv, split_extension_source=split_extension_source)
File "/tmp/pip-install-5y2xk7rz/pycurl/setup.py", line 582, in get_extension
ext_config = ExtensionConfiguration(argv)
File "/tmp/pip-install-5y2xk7rz/pycurl/setup.py", line 99, in __init__
self.configure()
File "/tmp/pip-install-5y2xk7rz/pycurl/setup.py", line 316, in configure_unix
specify the SSL backend manually.‘‘‘)
__main__.ConfigurationError: Curl is configured to use SSL, but we have not been able to determine which SSL backend it is using. Please see PycURL documentation for how to specify the SSL backend manually.

---------------------------------------------------------------------

pip remove pycurl

`yum install libcurl-devel`

export PYCURL_SSL_LIBRARY=openssl >> ~/.bashrc

source ~/.bashrc

pip3 install pycurl

--------------------------------------------------------------------------

ubuntu的方案

sudo apt-get install libssl-dev libcurl4-openssl-dev python-dev

pip3 install pyspider

引用頁面

https://blog.csdn.net/blueheart20/article/details/81626516

https://github.com/binux/pyspider

http://www.cnblogs.com/yunlongaimeng/p/9947228.html

centos7 安裝 pyspider 出現的一系列問題及解決方案集合