Djangoのdockerのrequirements.txtでReadTimeoutError、Read timed out.
今回はDjangoのdockerのrequirements.txtでReadTimeoutError、Read timed out.のエラーが出てしまう問題の解決策を一つ提示いたします。
Djangoのdockerのrequirements.txtでReadTimeoutError、Read timed out.
Dockerを使ってDjangoの開発をしているとき、Docker buildでrequirements.txtを見てpipインストールをするときに表題のエラーが出てしまい、buildに失敗する問題が発生してしまいました。
以下、エラー全文です。(かなり長いです。)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
ERROR: Exception: Traceback (most recent call last): File "/usr/local/lib/python3.7/site-packages/pip/_vendor/urllib3/response.py", line 425, in _error_catcher yield File "/usr/local/lib/python3.7/site-packages/pip/_vendor/urllib3/response.py", line 507, in read data = self._fp.read(amt) if not fp_closed else b"" File "/usr/local/lib/python3.7/site-packages/pip/_vendor/cachecontrol/filewrapper.py", line 62, in read data = self.__fp.read(amt) File "/usr/local/lib/python3.7/http/client.py", line 457, in read n = self.readinto(b) File "/usr/local/lib/python3.7/http/client.py", line 501, in readinto n = self.fp.readinto(b) File "/usr/local/lib/python3.7/socket.py", line 589, in readinto return self._sock.recv_into(b) File "/usr/local/lib/python3.7/ssl.py", line 1071, in recv_into return self.read(nbytes, buffer) File "/usr/local/lib/python3.7/ssl.py", line 929, in read return self._sslobj.read(len, buffer) socket.timeout: The read operation timed out During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/local/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", line 188, in _main status = self.run(options, args) File "/usr/local/lib/python3.7/site-packages/pip/_internal/cli/req_command.py", line 185, in wrapper return func(self, options, args) File "/usr/local/lib/python3.7/site-packages/pip/_internal/commands/install.py", line 333, in run reqs, check_supported_wheels=not options.target_dir File "/usr/local/lib/python3.7/site-packages/pip/_internal/resolution/legacy/resolver.py", line 179, in resolve discovered_reqs.extend(self._resolve_one(requirement_set, req)) File "/usr/local/lib/python3.7/site-packages/pip/_internal/resolution/legacy/resolver.py", line 362, in _resolve_one abstract_dist = self._get_abstract_dist_for(req_to_install) File "/usr/local/lib/python3.7/site-packages/pip/_internal/resolution/legacy/resolver.py", line 314, in _get_abstract_dist_for abstract_dist = self.preparer.prepare_linked_requirement(req) File "/usr/local/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", line 469, in prepare_linked_requirement hashes=hashes, File "/usr/local/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", line 259, in unpack_url hashes=hashes, File "/usr/local/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", line 130, in get_http_url link, downloader, temp_dir.path, hashes File "/usr/local/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", line 281, in _download_http_url for chunk in download.chunks: File "/usr/local/lib/python3.7/site-packages/pip/_internal/cli/progress_bars.py", line 166, in iter for x in it: File "/usr/local/lib/python3.7/site-packages/pip/_internal/network/utils.py", line 39, in response_chunks decode_content=False, File "/usr/local/lib/python3.7/site-packages/pip/_vendor/urllib3/response.py", line 564, in stream data = self.read(amt=amt, decode_content=decode_content) File "/usr/local/lib/python3.7/site-packages/pip/_vendor/urllib3/response.py", line 529, in read raise IncompleteRead(self._fp_bytes_read, self.length_remaining) File "/usr/local/lib/python3.7/contextlib.py", line 130, in __exit__ self.gen.throw(type, value, traceback) File "/usr/local/lib/python3.7/site-packages/pip/_vendor/urllib3/response.py", line 430, in _error_catcher raise ReadTimeoutError(self._pool, None, "Read timed out.") pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out. |
結論を言うと、かなりしょうもない理由となりますが、requirements.txtに空行があったことが原因でした。
requirements.txtの空行を消すと、上記のエラーが解消されました。
気をつけたいですね。
終わりに
今回はDjangoのdockerのrequirements.txtでReadTimeoutError、Read timed out.のエラーが出てしまう問題の解決策を一つ提示いたしました。
ディスカッション
コメント一覧
まだ、コメントがありません