-
Notifications
You must be signed in to change notification settings - Fork 906
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Symlink resolution during configuration detection might break some CLI commands #2346
Comments
Test if this also breaks datasets or only the CLI. |
Opposite idea, what about we make sure both |
A similar problem was spotted by a user on Windows (which doesn't have symlinks, unsure) https://linen-slack.kedro.org/t/15723534/hello-everyone-i-m-relatively-new-to-learning-kedro-and-i-ve#36c3d6d1-3934-4b02-a000-95a3f76e18fb (Notice the paths in the traceback) |
Windows do have something similar to symlink, used to do that with Powershell |
Another user affected by this on Windows: https://linen-slack.kedro.org/t/16006555/hello-everyone-anyone-ever-tried-using-prefect-on-their-pipe#2851de33-7433-4492-bd70-c551ad7b2422
|
I think Prefect specifically might be generating these temporary directories and hitting that error in the codebase. |
A workaround for Prefect:
|
Possibly related: |
Another user communicated in private that they're also having this problem:
So this affects Windows too. |
any news about the UNC problem with windows? :
and after the kedro run doesn't run:
|
Thanks for the extra info @cyrenaique. This is already high priority for us, we hope to get to it soon. |
I didn't get any error by following the description, then I notice I need to create the project first to trigger the error. cd /tmp
kedro new -n test-kedro-ipython-regular
|
Description
While debugging another issue, I found an interesting behavior that only happens in very specific circumstances. Since on macOS
/tmp
is a symlink to/private/tmp
, while trying to instantiate aKedroCLI
object I was getting a long error:which of course was addressed by using the resolved path instead:
Context
I guess this never happens in real life because of how the codebase calls the initializer, but looks like the brittleness could be averted by replacing
.resolve()
with.absolute()
here:kedro/kedro/framework/startup.py
Line 64 in 116ddd0
I'm not sure if there are other consequences potentially hidden. This line has been there "forever" (dc39a96).
Steps to Reproduce
(given above)
Expected Result
The
KedroCLI
can be instantiated in paths regardless of symlinks.Your Environment
Include as many relevant details about the environment in which you experienced the bug:
pip show kedro
orkedro -V
): 0.18.4python -V
): 3.10.9The text was updated successfully, but these errors were encountered: