bndr / pipreqs

pipreqs - Generate pip requirements.txt file based on imports of any project. Looking for maintainers to move this project forward.
Apache License 2.0
6.38k stars 388 forks source link

pipreqs online doesn't work behind proxy #323

Open andrader opened 2 years ago

andrader commented 2 years ago

Without "--use-local", I can't use pipreqs:

Error Traceback ``` >pipreqs Traceback (most recent call last): File "C:\Users\RUSANAN\AppData\Roaming\Python\Python39\site-packages\urllib3\connectionpool.py", line 700, in urlopen self._prepare_proxy(conn) File "C:\Users\RUSANAN\AppData\Roaming\Python\Python39\site-packages\urllib3\connectionpool.py", line 996, in _prepare_proxy conn.connect() File "C:\Users\RUSANAN\AppData\Roaming\Python\Python39\site-packages\urllib3\connection.py", line 414, in connect self.sock = ssl_wrap_socket( File "C:\Users\RUSANAN\AppData\Roaming\Python\Python39\site-packages\urllib3\util\ssl_.py", line 449, in ssl_wrap_socket ssl_sock = _ssl_wrap_socket_impl( File "C:\Users\RUSANAN\AppData\Roaming\Python\Python39\site-packages\urllib3\util\ssl_.py", line 493, in _ssl_wrap_socket_impl return ssl_context.wrap_socket(sock, server_hostname=server_hostname) File "c:\program files (x86)\python 3.9.6\lib\ssl.py", line 500, in wrap_socket return self.sslsocket_class._create( File "c:\program files (x86)\python 3.9.6\lib\ssl.py", line 1040, in _create self.do_handshake() File "c:\program files (x86)\python 3.9.6\lib\ssl.py", line 1309, in do_handshake self._sslobj.do_handshake() ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\RUSANAN\AppData\Roaming\Python\Python39\site-packages\requests\adapters.py", line 489, in send resp = conn.urlopen( File "C:\Users\RUSANAN\AppData\Roaming\Python\Python39\site-packages\urllib3\connectionpool.py", line 787, in urlopen retries = retries.increment( File "C:\Users\RUSANAN\AppData\Roaming\Python\Python39\site-packages\urllib3\util\retry.py", line 592, in increment raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /pypi/pyodbc/json (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)'))) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "c:\program files (x86)\python 3.9.6\lib\runpy.py", line 197, in _run_module_as_main return _run_code(code, main_globals, None, File "c:\program files (x86)\python 3.9.6\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\RUSANAN\AppData\Roaming\Python\Python39\Scripts\pipreqs.exe\__main__.py", line 7, in File "C:\Users\RUSANAN\AppData\Roaming\Python\Python39\site-packages\pipreqs\pipreqs.py", line 488, in main init(args) File "C:\Users\RUSANAN\AppData\Roaming\Python\Python39\site-packages\pipreqs\pipreqs.py", line 439, in init imports = local + get_imports_info(difference, File "C:\Users\RUSANAN\AppData\Roaming\Python\Python39\site-packages\pipreqs\pipreqs.py", line 179, in get_imports_info response = requests.get( File "C:\Users\RUSANAN\AppData\Roaming\Python\Python39\site-packages\requests\api.py", line 73, in get return request("get", url, params=params, **kwargs) File "C:\Users\RUSANAN\AppData\Roaming\Python\Python39\site-packages\requests\api.py", line 59, in request return session.request(method=method, url=url, **kwargs) File "C:\Users\RUSANAN\AppData\Roaming\Python\Python39\site-packages\requests\sessions.py", line 587, in request resp = self.send(prep, **send_kwargs) File "C:\Users\RUSANAN\AppData\Roaming\Python\Python39\site-packages\requests\sessions.py", line 723, in send history = [resp for resp in gen] File "C:\Users\RUSANAN\AppData\Roaming\Python\Python39\site-packages\requests\sessions.py", line 723, in history = [resp for resp in gen] File "C:\Users\RUSANAN\AppData\Roaming\Python\Python39\site-packages\requests\sessions.py", line 266, in resolve_redirects resp = self.send( File "C:\Users\RUSANAN\AppData\Roaming\Python\Python39\site-packages\requests\sessions.py", line 701, in send r = adapter.send(request, **kwargs) File "C:\Users\RUSANAN\AppData\Roaming\Python\Python39\site-packages\requests\adapters.py", line 563, in send raise SSLError(e, request=request) requests.exceptions.SSLError: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /pypi/pyodbc/json (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)'))) ```

I also have a pip.ini file configured with a index-url and trusted-host from my company: pip.ini:

[global]
index-url = ...
trusted-host = ...
andrader commented 2 years ago

This may be the same or related problem in #315