Hey folks After upgrading my `langchain` depende...
# general
g
Hey folks After upgrading my
langchain
dependency from version
0.0.200
to
0.1.5
I started receiving this error when building my docker image. Check the comments for details.
1
Error:
Copy code
#10 [deps 3/3] RUN PEX_TOOLS=1 /usr/local/bin/python3.11 /binary-deps.pex venv --scope=deps --compile /bin/app
#10 19.60 received exit code 1 during execution of `['/usr/local/bin/python3.11', '-s', '-E', '-m', 'compileall', '/bin/app']` while trying to execute `['/usr/local/bin/python3.11', '-s', '-E', '-m', 'compileall', '/bin/app']`
#10 ERROR: process "/bin/sh -c PEX_TOOLS=1 /usr/local/bin/python3.11 /binary-deps.pex venv --scope=deps --compile /bin/app" did not complete successfully: exit code: 1
------
 > [deps 3/3] RUN PEX_TOOLS=1 /usr/local/bin/python3.11 /binary-deps.pex venv --scope=deps --compile /bin/app:
19.60 received exit code 1 during execution of `['/usr/local/bin/python3.11', '-s', '-E', '-m', 'compileall', '/bin/app']` while trying to execute `['/usr/local/bin/python3.11', '-s', '-E', '-m', 'compileall', '/bin/app']`
------
Dockerfile:3
--------------------
   1 |     FROM python:3.11-slim as deps
   2 |     COPY src.python.assistant/gunicorn-deps.pex /binary-deps.pex
   3 | >>> RUN PEX_TOOLS=1 /usr/local/bin/python3.11 /binary-deps.pex venv --scope=deps --compile /bin/app
   4 |     
   5 |     FROM python:3.11-slim as srcs
--------------------
ERROR: failed to solve: process "/bin/sh -c PEX_TOOLS=1 /usr/local/bin/python3.11 /binary-deps.pex venv --scope=deps --compile /bin/app" did not complete successfully: exit code: 1
Dockerfile:
Copy code
FROM python:3.11-slim as deps
COPY src.python.assistant/gunicorn-deps.pex /binary-deps.pex
RUN PEX_TOOLS=1 /usr/local/bin/python3.11 /binary-deps.pex venv --scope=deps --compile /bin/app

FROM python:3.11-slim as srcs
COPY src.python.assistant/gunicorn-srcs.pex /binary-srcs.pex
RUN PEX_TOOLS=1 /usr/local/bin/python3.11 /binary-srcs.pex venv --scope=srcs --compile /bin/app

FROM python:3.11-slim
ENV PYTHONUNBUFFERED True
RUN apt-get update \
    && apt-get install -y antiword libpq-dev 
COPY --from=deps /bin/app /bin/app
COPY --from=srcs /bin/app /bin/app
COPY assets/ assets
ENTRYPOINT ["/bin/app/pex"]
It is happening on this line:
Copy code
RUN PEX_TOOLS=1 /usr/local/bin/python3.11 /binary-deps.pex venv --scope=deps --compile /bin/app
👀 1
b
Hm, sorry for the trouble! Is there more error logging you can share? The docker output seems to confirm that the pex invocation fails, but doesn’t give any error output about the specific problem
g
That's the problem, I can't force the command to output more. Any extra flags I can pass?
b
Setting PEX_VERBOSE=1 too (or higher numbers, up to 9) might reveal something more
🙏 1
g
Nice, more insights:
Copy code
pex: Laying out Spread PEX directory /home/user/work/something/dist/src.python.assistant/gunicorn-deps.pex :: Installing /home/user/work/something/dist/src.python.assistant/gunicorn-deps.pex to /home/user/.pex/unzippepex: Laying out Spread PEX directory /home/user/work/something/dist/src.python.assistant/gunicorn-deps.pex: 89.8ms                                                                                                                                                         
pex:   Installing /home/user/work/something/dist/src.python.assistant/gunicorn-deps.pex to /home/user/.pex/unzipped_pexes/9b5ed662e533e16b22e2ae06454859db70f8cebb: 87.3ms
pex: Executing installed PEX for /home/user/work/something/./dist/src.python.assistant/gunicorn-deps.pex at /home/user/.pex/unzipped_pexes/9b5ed662e533e16b22e2ae06454859db70f8cebb
pex:   Testing /usr/bin/python3.11 can resolve PEX at /home/user/.pex/unzipped_pexes/9b5ed662e533e16b22e2ae06454859db70f8cebb: 437.8ms
pex: Using the current interpreter /usr/bin/python3.11 since it matches constraints and PYTHONPATH is not set.
pex: Re-writing /home/user/work/something/app/bin/activate-global-python-argcomplete                                                  
pex: Re-writing /home/user/work/something/app/bin/chardetect
pex: Re-writing /home/user/work/something/app/bin/distro
pex: Re-writing /home/user/work/something/app/bin/django-admin
pex: Re-writing /home/user/work/something/app/bin/docx2txt
pex: Re-writing /home/user/work/something/app/bin/doesitcache
pex: Re-writing /home/user/work/something/app/bin/extract_msg
pex: Re-writing /home/user/work/something/app/bin/f2py
pex: Re-writing /home/user/work/something/app/bin/filetype
pex: Re-writing /home/user/work/something/app/bin/fixup_firestore_admin_v1_keywords.py
pex: Re-writing /home/user/work/something/app/bin/fixup_firestore_v1_keywords.py
pex: Re-writing /home/user/work/something/app/bin/fixup_secretmanager_v1_keywords.py
pex: Re-writing /home/user/work/something/app/bin/fixup_secretmanager_v1beta1_keywords.py
pex: Re-writing /home/user/work/something/app/bin/gunicorn
pex: Re-writing /home/user/work/something/app/bin/httpx
pex: Re-writing /home/user/work/something/app/bin/jsondiff
pex: Re-writing /home/user/work/something/app/bin/jsonpatch
pex: Re-writing /home/user/work/something/app/bin/jsonpointer
pex: Re-writing /home/user/work/something/app/bin/langchain-server
pex: Re-writing /home/user/work/something/app/bin/langsmith
pex: Re-writing /home/user/work/something/app/bin/latin2ascii.py
pex: Re-writing /home/user/work/something/app/bin/newrelic-admin
pex: Re-writing /home/user/work/something/app/bin/nltk
pex: Re-writing /home/user/work/something/app/bin/normalizer
pex: Re-writing /home/user/work/something/app/bin/openai
pex: Re-writing /home/user/work/something/app/bin/pyrsa-decrypt
pex: Re-writing /home/user/work/something/app/bin/pyrsa-encrypt
pex: Re-writing /home/user/work/something/app/bin/pyrsa-keygen
pex: Re-writing /home/user/work/something/app/bin/pyrsa-priv2pub
pex: Re-writing /home/user/work/something/app/bin/pyrsa-sign
pex: Re-writing /home/user/work/something/app/bin/pyrsa-verify
pex: Re-writing /home/user/work/something/app/bin/python-argcomplete-check-easy-install-script
pex: Re-writing /home/user/work/something/app/bin/register-python-argcomplete
pex: Re-writing /home/user/work/something/app/bin/runxlrd.py
pex: Re-writing /home/user/work/something/app/bin/sqlformat
pex: Re-writing /home/user/work/something/app/bin/tabulate
pex: Re-writing /home/user/work/something/app/bin/textract
pex: Re-writing /home/user/work/something/app/bin/tqdm
pex: Re-writing /home/user/work/something/app/bin/unstructured-ingest
pex: Re-writing /home/user/work/something/app/bin/vba_extract.py
Traceback (most recent call last):
  File "/home/user/.pex/unzipped_pexes/9b5ed662e533e16b22e2ae06454859db70f8cebb/.bootstrap/pex/result.py", line 105, in catch
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/.pex/unzipped_pexes/9b5ed662e533e16b22e2ae06454859db70f8cebb/.bootstrap/pex/tools/commands/venv.py", line 209, in run
    pex.interpreter.execute(["-m", "compileall", venv_dir])
  File "/home/user/.pex/unzipped_pexes/9b5ed662e533e16b22e2ae06454859db70f8cebb/.bootstrap/pex/interpreter.py", line 1292, in execute
    stdout, stderr = Executor.execute(cmd, stdin_payload=stdin_payload, env=env, **kwargs)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/.pex/unzipped_pexes/9b5ed662e533e16b22e2ae06454859db70f8cebb/.bootstrap/pex/executor.py", line 99, in execute
    raise cls.NonZeroExit(cmd, process.returncode, stdout, stderr)
pex.executor.Executor.NonZeroExit: received exit code 1 during execution of `['/usr/bin/python3.11', '-s', '-E', '-m', 'compileall', './app']` while trying to execute `['/usr/bin/python3.11', '-s', '-E', '-m', 'compileall', './app']`
received exit code 1 during execution of `['/usr/bin/python3.11', '-s', '-E', '-m', 'compileall', './app']` while trying to execute `['/usr/bin/python3.11', '-s', '-E', '-m', 'compileall', './app']`
pex: Executing PEX_TOOLS venv: 10592.7ms
pex:   Laying out Spread PEX directory /home/user/work/something/dist/src.python.assistant/gunicorn-deps.pex: 0.1ms
Okay, seems like the transitive dep
olefile
moved from ver
0.46
to
0.47
which was breaking the build. Pinning it down to
0.46
solved the issue!
b
Huh, that output is not very helpful. I wonder what’s weird about the new olefile package. Maybe it’s a bug in that package or maybe in pex.
g
I traced
vba_extract.py
which lead me to that package, I don't know why it is breaking as well, but your verbos note helped. Thanks!