在Ubuntu中执行命令:sudo pip install requests,结果报错:
Exception:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/pip-1.5.4-py2.7.egg/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/usr/local/lib/python2.7/dist-packages/pip-1.5.4-py2.7.egg/pip/commands/install.py", line 278, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
File "/usr/local/lib/python2.7/dist-packages/pip-1.5.4-py2.7.egg/pip/req.py", line 1265, in prepare_files
req_to_install.extras):
File "/usr/local/lib/python2.7/dist-packages/pip-1.5.4-py2.7.egg/pip/_vendor/pkg_resources.py", line 2232, in requires
dm = self._dep_map
File "/usr/local/lib/python2.7/dist-packages/pip-1.5.4-py2.7.egg/pip/_vendor/pkg_resources.py", line 2423, in _dep_map
self.__dep_map = self._compute_dependencies()
File "/usr/local/lib/python2.7/dist-packages/pip-1.5.4-py2.7.egg/pip/_vendor/pkg_resources.py", line 2447, in _compute_dependencies
parsed = next(parse_requirements(distvers))
File "/usr/local/lib/python2.7/dist-packages/pip-1.5.4-py2.7.egg/pip/_vendor/pkg_resources.py", line 45, in <lambda>
next = lambda o: o.next()
File "/usr/local/lib/python2.7/dist-packages/pip-1.5.4-py2.7.egg/pip/_vendor/pkg_resources.py", line 2544, in parse_requirements
line, p, specs = scan_list(VERSION,LINE_END,line,p,(1,2),"version spec")
File "/usr/local/lib/python2.7/dist-packages/pip-1.5.4-py2.7.egg/pip/_vendor/pkg_resources.py", line 2512, in scan_list
raise ValueError("Expected "+item_name+" in",line,"at",line[p:])
ValueError: ('Expected version spec in', 'charset-normalizer ~=2.0.0', 'at', ' ~=2.0.0')
Storing debug log for failure in /home/cjc/.pip/pip.log
解决方法:
原因可能是因为pip的版本过低, 安装新版本的pip即可解决:
wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9
tar -xzvf pip-9.0.1.tar.gz
cd pip-9.0.1
sudo python setup.py install
pip -V
sudo pip install requests