Hi @<1714451218161471488:profile|ClumsyChimpanzee54> ! We will automatically add the cwd of the pipeline controller to the python path when running locally in a future version.
If running remotely, you can approach this in a few ways:
- add the whole project to a git repo and specify that repo in the pipeline steps
- have a prebuilt docker image that contains your project's code. you may then set the working directory to the path of your project
- if the agent running the docker is running on the same machine that contains your project, you may mount the directory containing your project using
-v
and extend the python path to point to that directory using the-e
docker argument. You may add these usingdocker_args
@<1523701070390366208:profile|CostlyOstrich36> I've added clearml to my project. Everything works fine locally: all metrics and other metadata are sent to clearml. Now I want to run my experiments through agent and at this step I got problems.
My project has a complex structure, so I need to modify the PYTHONPATH
variable. Otherwise agent will fail with import error. Specifically, I want to add CLEARML_TASK_WORKING_DIR
there. How and where should I do this?
Thanks @<1523701435869433856:profile|SmugDolphin23> I will try the first one
You can export it in the same shell you run the agent in and that should work for example
export FOO=bar clearml-agent daemon ...
Hey, having very similar issue where my pipeline requires imports from other files in my repository that require the root of the directory to be on the pythonpath.
e.g.from src.pipelines.pipeline_function_dependencies import parse_total_dataset
src/pipelines/nested_cv_pipeline.py
So folder on level of src needs to be on pythonpath. Should I be using docker_args for this? Or maybe docker_bash_setup_script?
And how do I access the path to the working dir in the docker container so I can set the pythonpath?
Hi @<1691983266761936896:profile|AstonishingOx62> , I'm not sure I understand what you're trying to do. You have some python code unrelated to ClearML. Does it run without issues? Did you afterwards add Task.init()
to that code?