You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The problem:
If I override system python with arbitrary python version using pyenv with pyenv global ..., and configure poetry as package manager in clearml.conf, a clearml-agent worker can crash on startup because it tries to link to system python, rather than pyenv python, which is easily incompatibe with dependencies.
E.g. Amazon Linux 2 standard python is 3.7 while fresh numpy requires python 3.9:
This is not solved by pointing python_binary: in clearml.conf to the pyenv python binary explicitly, see #523 (comment)
Solution:
I've tracked the issue to poetry repo, e.g. python-poetry/poetry#4199, python-poetry/poetry#4852 among others. The problem is, poetry with the new installer (install-poetry.py) doesn't respect pyenv global setting untill explicitly told to use that python in the current session via poetry use ....
Now, we cannot explicitly add any shell commands on clearml-agent startup (poetry use ...) unless we use docker (at least i didn't found any other way).
And poetry + docker don't play together well (besides docker would be overkill to use for any task).
Environment:
clearml==1.1.6
clearml-agent==1.1.1
poetry==1.1.12
pyenv==2.2.3
OS==4.14.256-197.484.amzn2.x86_64
The problem:
If I override system python with arbitrary python version using
pyenv
withpyenv global ...
, and configurepoetry
as package manager inclearml.conf
, aclearml-agent
worker can crash on startup because it tries to link to system python, rather thanpyenv
python, which is easily incompatibe with dependencies.E.g. Amazon Linux 2 standard python is 3.7 while fresh
numpy
requires python 3.9:This is not solved by pointing
python_binary:
inclearml.conf
to thepyenv
python binary explicitly, see #523 (comment)Solution:
I've tracked the issue to
poetry
repo, e.g. python-poetry/poetry#4199, python-poetry/poetry#4852 among others. The problem is,poetry
with the new installer (install-poetry.py
) doesn't respectpyenv global
setting untill explicitly told to use that python in the current session viapoetry use ...
.Now, we cannot explicitly add any shell commands on
clearml-agent
startup (poetry use ...
) unless we usedocker
(at least i didn't found any other way).And
poetry
+docker
don't play together well (besidesdocker
would be overkill to use for any task).What can be done is:
poetry 1.2
patched with Add (experimental) option to use current active python to create venv ("pyenv way") python-poetry/poetry#4852poetry
installed with deprecateed installer (theget-poetry.py
, not theinstall-poetry.py
)Maybe add some note to
clearml
docs?The text was updated successfully, but these errors were encountered: