pip 异常:AttributeError:“NoneType”对象没有属性“startswith”

Posted

技术标签:

【中文标题】pip 异常:AttributeError:“NoneType”对象没有属性“startswith”【英文标题】:pip exception: AttributeError: 'NoneType' object has no attribute 'startswith' 【发布时间】:2017-09-05 11:26:25 【问题描述】:

当我使用 pip 安装一些包时,总是遇到同样的异常:

PS C:\Users\84682\Desktop> pip install django -v
Config variable 'Py_DEBUG' is unset, Python ABI tag may be incorrect
Config variable 'WITH_PYMALLOC' is unset, Python ABI tag may be incorrect
Collecting django
  1 location(s) to search for versions of django:
  * https://pypi.python.org/simple/django/
  Getting page https://pypi.python.org/simple/django/
  Looking up "https://pypi.python.org/simple/django/" in the cache
  No cache entry available
  Starting new HTTPS connection (1): pypi.python.org
Cleaning up...
Exception:
Traceback (most recent call last):
  File "d:\python\python3.5\lib\site-packages\pip\basecommand.py", line 215, in main
    status = self.run(options, args)
  File "d:\python\python3.5\lib\site-packages\pip\commands\install.py", line 324, in run
    requirement_set.prepare_files(finder)
  File "d:\python\python3.5\lib\site-packages\pip\req\req_set.py", line 380, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "d:\python\python3.5\lib\site-packages\pip\req\req_set.py", line 554, in _prepare_file
    require_hashes
  File "d:\python\python3.5\lib\site-packages\pip\req\req_install.py", line 278, in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "d:\python\python3.5\lib\site-packages\pip\index.py", line 465, in find_requirement
    all_candidates = self.find_all_candidates(req.name)
  File "d:\python\python3.5\lib\site-packages\pip\index.py", line 423, in find_all_candidates
    for page in self._get_pages(url_locations, project_name):
  File "d:\python\python3.5\lib\site-packages\pip\index.py", line 568, in _get_pages
    page = self._get_page(location)
  File "d:\python\python3.5\lib\site-packages\pip\index.py", line 683, in _get_page
    return htmlPage.get_page(link, session=self.session)
  File "d:\python\python3.5\lib\site-packages\pip\index.py", line 792, in get_page
    "Cache-Control": "max-age=600",
  File "d:\python\python3.5\lib\site-packages\pip\_vendor\requests\sessions.py", line 488, in get
    return self.request('GET', url, **kwargs)
  File "d:\python\python3.5\lib\site-packages\pip\download.py", line 386, in request
    return super(PipSession, self).request(method, url, *args, **kwargs)
  File "d:\python\python3.5\lib\site-packages\pip\_vendor\requests\sessions.py", line 475, in request
    resp = self.send(prep, **send_kwargs)
  File "d:\python\python3.5\lib\site-packages\pip\_vendor\requests\sessions.py", line 596, in send
    r = adapter.send(request, **kwargs)
  File "d:\python\python3.5\lib\site-packages\pip\_vendor\cachecontrol\adapter.py", line 47, in send
    resp = super(CacheControlAdapter, self).send(request, **kw)
  File "d:\python\python3.5\lib\site-packages\pip\_vendor\requests\adapters.py", line 423, in send
    timeout=timeout
  File "d:\python\python3.5\lib\site-packages\pip\_vendor\requests\packages\urllib3\connectionpool.py", line 589, in urlopen
    self._prepare_proxy(conn)
  File "d:\python\python3.5\lib\site-packages\pip\_vendor\requests\packages\urllib3\connectionpool.py", line 797, in _prepare_proxy
    conn.connect()
  File "d:\python\python3.5\lib\site-packages\pip\_vendor\requests\packages\urllib3\connection.py", line 254, in connect
    conn = self._new_conn()
  File "d:\python\python3.5\lib\site-packages\pip\_vendor\requests\packages\urllib3\connection.py", line 142, in _new_conn
    (self.host, self.port), self.timeout, **extra_kw)
  File "d:\python\python3.5\lib\site-packages\pip\_vendor\requests\packages\urllib3\util\connection.py", line 66, in create_connection
    if host.startswith('['):
AttributeError: 'NoneType' object has no attribute 'startswith'
Looking up "https://pypi.python.org/pypi/pip/json" in the cache
No cache entry available
Starting new HTTPS connection (1): pypi.python.org
There was an error checking the latest version of pip
Traceback (most recent call last):
  File "d:\python\python3.5\lib\site-packages\pip\utils\outdated.py", line 126, in pip_version_check
    headers="Accept": "application/json",
  File "d:\python\python3.5\lib\site-packages\pip\_vendor\requests\sessions.py", line 488, in get
    return self.request('GET', url, **kwargs)
  File "d:\python\python3.5\lib\site-packages\pip\download.py", line 386, in request
    return super(PipSession, self).request(method, url, *args, **kwargs)
  File "d:\python\python3.5\lib\site-packages\pip\_vendor\requests\sessions.py", line 475, in request
    resp = self.send(prep, **send_kwargs)
  File "d:\python\python3.5\lib\site-packages\pip\_vendor\requests\sessions.py", line 596, in send
    r = adapter.send(request, **kwargs)
  File "d:\python\python3.5\lib\site-packages\pip\_vendor\cachecontrol\adapter.py", line 47, in send
    resp = super(CacheControlAdapter, self).send(request, **kw)
  File "d:\python\python3.5\lib\site-packages\pip\_vendor\requests\adapters.py", line 423, in send
    timeout=timeout
  File "d:\python\python3.5\lib\site-packages\pip\_vendor\requests\packages\urllib3\connectionpool.py", line 589, in urlopen
    self._prepare_proxy(conn)
  File "d:\python\python3.5\lib\site-packages\pip\_vendor\requests\packages\urllib3\connectionpool.py", line 797, in _prepare_proxy
    conn.connect()
  File "d:\python\python3.5\lib\site-packages\pip\_vendor\requests\packages\urllib3\connection.py", line 254, in connect
    conn = self._new_conn()
  File "d:\python\python3.5\lib\site-packages\pip\_vendor\requests\packages\urllib3\connection.py", line 142, in _new_conn
    (self.host, self.port), self.timeout, **extra_kw)
  File "d:\python\python3.5\lib\site-packages\pip\_vendor\requests\packages\urllib3\util\connection.py", line 66, in create_connection
    if host.startswith('['):
AttributeError: 'NoneType' object has no attribute 'startswith'

我发现类似的问题是python can not be used in win10?、AttributeError: 'NoneType' object has no attribute 'startswith' 和Fail to install pip in Python3.6。但他们没有答案。


我在网上搜索了很长时间。但是没有用。我不知道。请帮助或尝试提供一些想法如何实现这一目标。

【问题讨论】:

你试过重新安装pip吗? 你尝试重新安装 python 吗? @Sam Chats 是的,我已经重新安装了 pip 和 python,但仍然出现此异常。 @SitiSchu 我试过 python 3.6 和 3.5,但是没用。 运行pip install --upgrade pip时会发生什么? 【参考方案1】:

我在尝试从 docker compose 运行 pip 时收到相同的错误消息。导致错误的根本问题是我用一个太少的斜线定义了我的代理设置:http:/myproxy...

然后在更正该错误后,一切正常。

我希望这可以帮助遇到同样问题的人。

【讨论】:

以上是关于pip 异常:AttributeError:“NoneType”对象没有属性“startswith”的主要内容,如果未能解决你的问题,请参考以下文章

AttributeError: module 'pip' has no attribute 'main'如何解决?

python-pip升级报错- AttributeError: 'NoneType' object has no attribute 'bytes'

pycharm 安装第三方库报错:AttributeError: 'module' object has no attribute 'main'

pycharm 安装第三方库报错:AttributeError: 'module' object has no attribute 'main'

AttributeError: module 'pytest' has no attribute 'allure'

解决window7 x64位Anaconda启动报错:AttributeError: '_NamespacePath' object has no attribute 'sor