Python 在Mac OS X上安装pip时出错
我试图使用Python2.6版在MacOSX系统上安装pip,但出现以下错误Python 在Mac OS X上安装pip时出错,python,installation,pip,Python,Installation,Pip,我试图使用Python2.6版在MacOSX系统上安装pip,但出现以下错误 $ python /tmp/get-pip.py /tmp/tmpzyN3Si/pip.zip/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring
$ python /tmp/get-pip.py
/tmp/tmpzyN3Si/pip.zip/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
Collecting pip
/tmp/tmpzyN3Si/pip.zip/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
Exception:
Traceback (most recent call last):
File "/tmp/tmpLZAZtY/pip.zip/pip/basecommand.py", line 223, in main
status = self.run(options, args)
File "/tmp/tmpLZAZtY/pip.zip/pip/commands/install.py", line 280, in run
requirement_set.prepare_files(finder)
File "/tmp/tmpLZAZtY/pip.zip/pip/req/req_set.py", line 317, in prepare_files
functools.partial(self._prepare_file, finder))
File "/tmp/tmpLZAZtY/pip.zip/pip/req/req_set.py", line 304, in _walk_req_to_install
more_reqs = handler(req_to_install)
File "/tmp/tmpLZAZtY/pip.zip/pip/req/req_set.py", line 439, in _prepare_file
req_to_install.populate_link(finder, self.upgrade)
File "/tmp/tmpLZAZtY/pip.zip/pip/req/req_install.py", line 244, in populate_link
self.link = finder.find_requirement(self, upgrade)
File "/tmp/tmpLZAZtY/pip.zip/pip/index.py", line 486, in find_requirement
all_versions = self._find_all_versions(req.name)
File "/tmp/tmpLZAZtY/pip.zip/pip/index.py", line 404, in _find_all_versions
index_locations = self._get_index_urls_locations(project_name)
File "/tmp/tmpLZAZtY/pip.zip/pip/index.py", line 378, in _get_index_urls_locations
page = self._get_page(main_index_url)
File "/tmp/tmpLZAZtY/pip.zip/pip/index.py", line 810, in _get_page
return HTMLPage.get_page(link, session=self.session)
File "/tmp/tmpLZAZtY/pip.zip/pip/index.py", line 920, in get_page
"Cache-Control": "max-age=600",
File "/tmp/tmpLZAZtY/pip.zip/pip/_vendor/requests/sessions.py", line 477, in get
return self.request('GET', url, **kwargs)
File "/tmp/tmpLZAZtY/pip.zip/pip/download.py", line 373, in request
return super(PipSession, self).request(method, url, *args, **kwargs)
File "/tmp/tmpLZAZtY/pip.zip/pip/_vendor/requests/sessions.py", line 465, in request
resp = self.send(prep, **send_kwargs)
File "/tmp/tmpLZAZtY/pip.zip/pip/_vendor/requests/sessions.py", line 573, in send
r = adapter.send(request, **kwargs)
File "/tmp/tmpLZAZtY/pip.zip/pip/_vendor/cachecontrol/adapter.py", line 36, in send
cached_response = self.controller.cached_request(request)
File "/tmp/tmpLZAZtY/pip.zip/pip/_vendor/cachecontrol/controller.py", line 102, in cached_request
resp = self.serializer.loads(request, self.cache.get(cache_url))
File "/tmp/tmpLZAZtY/pip.zip/pip/_vendor/cachecontrol/serialize.py", line 108, in loads
return getattr(self, "_loads_v{0}".format(ver))(request, data)
File "/tmp/tmpLZAZtY/pip.zip/pip/_vendor/cachecontrol/serialize.py", line 184, in _loads_v2
return self.prepare_response(request, cached)
File "/tmp/tmpLZAZtY/pip.zip/pip/_vendor/cachecontrol/serialize.py", line 145, in prepare_response
**cached["response"]
TypeError: __init__() keywords must be strings
然后我用python2.6试了一下:
python2.6 /tmp/get-pip.py
/tmp/tmpI57ALq/pip.zip/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
You are using pip version 7.0.3, however version 7.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Collecting pip
/tmp/tmpI57ALq/pip.zip/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
Downloading pip-7.1.2-py2.py3-none-any.whl (1.1MB)
100% |################################| 1.1MB 303kB/s
Collecting setuptools
Downloading setuptools-18.3.1-py2.py3-none-any.whl (462kB)
100% |################################| 462kB 723kB/s
Collecting wheel
Downloading wheel-0.24.0-py2.py3-none-any.whl (63kB)
100% |################################| 65kB 3.6MB/s
Collecting argparse (from wheel)
Downloading argparse-1.3.0-py2.py3-none-any.whl
Installing collected packages: pip, setuptools, argparse, wheel
Successfully installed argparse-1.3.0 pip-7.1.2 setuptools-18.3.1 wheel-0.24.0
但当我尝试使用pip命令时,却找不到它
$ which pip
pip not found
当我再次运行python2.6时,我得到以下结果:
python2.6 /tmp/get-pip.py
You are using pip version 7.0.3, however version 7.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
/tmp/tmpCu8MaZ/pip.zip/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
Requirement already up-to-date: pip in /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages
我已经读到,pip安装请求[安全]可以解决这个问题,但首先我需要安装pip才能安装这些软件包
编辑:
这似乎是一个与Python2.6.1相关的bug。
我用自制软件安装了较新版本的Python(2.7.10),并使用easy_install安装了pip。然后我添加了path/usr/local/bin以获得优先权,pip现在安装包。不过,我不确定对pip使用非本机python是否合适。您是否尝试过
easy\u install
这里有一个简单的解决方案
首先,确保安装了Python
。怎么用?打开终端并运行以下命令
python --version
sudo easy_install pip
如果此命令返回一个版本号,则表示python已经安装。这也意味着您已经可以访问easy\u install
,因为您正在使用OSX
现在,您所要做的就是运行以下命令
python --version
sudo easy_install pip
之后,将安装pip
,您可以使用它安装其他软件包
干杯!
让我知道这种安装pip的方式是否适合您 重新安装Python,然后它就可以工作了。Pip是在系统上安装Python时预先安装的。您是否已经尝试过
Python-m Pip install requests[security]
?@cel我刚刚尝试过,它返回未找到匹配项:requests[security]
错误是由于zsh语法造成的,我成功地安装了Pip,并使用Pip install'请求[security]“
它仍然返回不安全的PlatformWarning…在mac os 10.12.3上工作,而在其他地方找到的指令没有。