pip icon indicating copy to clipboard operation
pip copied to clipboard

PIP not using proxy correctly in VENV

Open klaypigeon opened this issue 2 years ago • 0 comments

Description

Not sure if this a bug or is somehow expected behavior... But it is annoying AF. When in a venv, pip throws the following error: (venv) C:\Users\tmacris>pip install --proxy http://proxyvip.int.cdphp.com:8080 pandas ERROR: Could not install packages due to an OSError: Proxy URL had no scheme, should start with http:// or https://

When not in a venv, this command executes without issue.

Some web help suggested manually setting the env, but mine was already set: (venv) C:\Users\tmacris>set https_proxy HTTPS_PROXY=proxyvip.int.cdphp.com:8080

(venv) C:\Users\tmacris>set http_proxy HTTP_PROXY=proxyvip.int.cdphp.com:8080

If I try it without the proxy argument I get identical results. (works outside of venv but not in venv)

Expected behavior

Package gets installed to venv

pip version

21.1.2

Python version

3.10

OS

Windows10

How to Reproduce

Unsure. I didn't do anything special. python -m venv venv venv/Scripts/activate pip install --proxy https://your-proxy:port pandas

Output

PS C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts> .\venv\Scripts\activate
(venv) PS C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts> pip install --verbose --proxy http://proxyvip.int.cdphp.com:8080 future
Using pip 21.1.2 from C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip (python 3.10)
Non-user install because site-packages writeable
Created temporary directory: C:\Users\tmacris\AppData\Local\Temp\pip-ephem-wheel-cache-p3bqrc69
Created temporary directory: C:\Users\tmacris\AppData\Local\Temp\pip-req-tracker-u5y5d6ro
Initialized build tracking at C:\Users\tmacris\AppData\Local\Temp\pip-req-tracker-u5y5d6ro
Created build tracker: C:\Users\tmacris\AppData\Local\Temp\pip-req-tracker-u5y5d6ro
Entered build tracker: C:\Users\tmacris\AppData\Local\Temp\pip-req-tracker-u5y5d6ro
Created temporary directory: C:\Users\tmacris\AppData\Local\Temp\pip-install-nmpqiv2x
1 location(s) to search for versions of future:
* https://pypi.org/simple/future/
Fetching project page and analyzing links: https://pypi.org/simple/future/
Getting page https://pypi.org/simple/future/
Found index url https://pypi.org/simple
Looking up "https://pypi.org/simple/future/" in the cache
Request header has "max_age" as 0, cache bypassed
ERROR: Could not install packages due to an OSError.
Traceback (most recent call last):
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_vendor\requests\adapters.py", line 412, in send
    conn = self.get_connection(request.url, proxies)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_vendor\requests\adapters.py", line 309, in get_connection
    proxy_manager = self.proxy_manager_for(proxy)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_vendor\requests\adapters.py", line 193, in proxy_manager_for
    manager = self.proxy_manager[proxy] = proxy_from_url(
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_vendor\urllib3\poolmanager.py", line 536, in proxy_from_url
    return ProxyManager(proxy_url=url, **kw)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_vendor\urllib3\poolmanager.py", line 480, in __init__
    raise ProxySchemeUnknown(proxy.scheme)
pip._vendor.urllib3.exceptions.ProxySchemeUnknown: Proxy URL had no scheme, should start with http:// or https://

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_internal\commands\install.py", line 318, in run
    requirement_set = resolver.resolve(
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_internal\resolution\resolvelib\resolver.py", line 127, in resolve
    result = self._result = resolver.resolve(
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 473, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 341, in resolve
    name, crit = self._merge_into_criterion(r, parent=None)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 172, in _merge_into_criterion
    if not criterion.candidates:
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_vendor\resolvelib\structs.py", line 139, in __bool__
    return bool(self._sequence)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 143, in __bool__
    return any(self)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 129, in <genexpr>
    return (c for c in iterator if id(c) not in self._incompatible_ids)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 30, in _iter_built
    for version, func in infos:
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_internal\resolution\resolvelib\factory.py", line 269, in iter_index_candidate_infos
    result = self._finder.find_best_candidate(
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_internal\index\package_finder.py", line 879, in find_best_candidate
    candidates = self.find_all_candidates(project_name)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_internal\index\package_finder.py", line 824, in find_all_candidates
    page_candidates = list(page_candidates_it)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_internal\index\sources.py", line 134, in page_candidates
    yield from self._candidates_from_page(self._link)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_internal\index\package_finder.py", line 783, in process_project_url
    html_page = self._link_collector.fetch_page(project_url)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_internal\index\collector.py", line 512, in fetch_page
    return _get_html_page(location, session=self.session)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_internal\index\collector.py", line 422, in _get_html_page
    resp = _get_html_response(url, session=session)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_internal\index\collector.py", line 120, in _get_html_response
    resp = session.get(
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_vendor\requests\sessions.py", line 555, in get
    return self.request('GET', url, **kwargs)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_internal\network\session.py", line 449, in request
    return super().request(method, url, *args, **kwargs)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_vendor\requests\sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_vendor\requests\sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_vendor\cachecontrol\adapter.py", line 53, in send
    resp = super(CacheControlAdapter, self).send(request, **kw)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_vendor\requests\adapters.py", line 414, in send
    raise InvalidURL(e, request=request)
pip._vendor.requests.exceptions.InvalidURL: Proxy URL had no scheme, should start with http:// or https://
1 location(s) to search for versions of pip:
* https://pypi.org/simple/pip/
Fetching project page and analyzing links: https://pypi.org/simple/pip/
Getting page https://pypi.org/simple/pip/
Found index url https://pypi.org/simple
Looking up "https://pypi.org/simple/pip/" in the cache
Request header has "max_age" as 0, cache bypassed
There was an error checking the latest version of pip
Traceback (most recent call last):
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_vendor\requests\adapters.py", line 412, in send
    conn = self.get_connection(request.url, proxies)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_vendor\requests\adapters.py", line 309, in get_connection
    proxy_manager = self.proxy_manager_for(proxy)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_vendor\requests\adapters.py", line 193, in proxy_manager_for
    manager = self.proxy_manager[proxy] = proxy_from_url(
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_vendor\urllib3\poolmanager.py", line 536, in proxy_from_url
    return ProxyManager(proxy_url=url, **kw)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_vendor\urllib3\poolmanager.py", line 480, in __init__
    raise ProxySchemeUnknown(proxy.scheme)
pip._vendor.urllib3.exceptions.ProxySchemeUnknown: Proxy URL had no scheme, should start with http:// or https://

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_internal\self_outdated_check.py", line 152, in pip_self_version_check
    best_candidate = finder.find_best_candidate("pip").best_candidate
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_internal\index\package_finder.py", line 879, in find_best_candidate
    candidates = self.find_all_candidates(project_name)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_internal\index\package_finder.py", line 824, in find_all_candidates
    page_candidates = list(page_candidates_it)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_internal\index\sources.py", line 134, in page_candidates
    yield from self._candidates_from_page(self._link)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_internal\index\package_finder.py", line 783, in process_project_url
    html_page = self._link_collector.fetch_page(project_url)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_internal\index\collector.py", line 512, in fetch_page
    return _get_html_page(location, session=self.session)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_internal\index\collector.py", line 422, in _get_html_page
    resp = _get_html_response(url, session=session)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_internal\index\collector.py", line 120, in _get_html_response
    resp = session.get(
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_vendor\requests\sessions.py", line 555, in get
    return self.request('GET', url, **kwargs)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_internal\network\session.py", line 449, in request
    return super().request(method, url, *args, **kwargs)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_vendor\requests\sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_vendor\requests\sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_vendor\cachecontrol\adapter.py", line 53, in send
    resp = super(CacheControlAdapter, self).send(request, **kw)
  File "C:\Users\tmacris\OneDrive\OneDrive - CDPHP\PycharmProjects\tnmscripts\venv\lib\site-packages\pip\_vendor\requests\adapters.py", line 414, in send
    raise InvalidURL(e, request=request)
pip._vendor.requests.exceptions.InvalidURL: Proxy URL had no scheme, should start with http:// or https://
Removed build tracker: 'C:\\Users\\tmacris\\AppData\\Local\\Temp\\pip-req-tracker-u5y5d6ro'

Code of Conduct

klaypigeon avatar Jul 18 '22 15:07 klaypigeon