As indicated in the comment, I think there are two issues at play.
1. Decoding error
This is the main exception you're getting, i.e.:
UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xe8 in position 69: invalid continuation byte
This is unexpectedly raised while Kedro itself is handling the errors from pip install
(see this line of Kedro's source code). I believe the cause might be that you have accented characters in your working directory, which can't be interpreted by Python's standard decode()
(see this). Example:
b'accélération'.decode()
>> SyntaxError: bytes can only contain ASCII literal characters.
The decoding error is obscuring the actual pip install
error.
2. pip install
error
As you correctly pointed out, kedro install
uses pip install
under the hood. It's a bit difficult to pinpoint the exact cause without seeing the actual error. I could however reproduce a similar issue, in my case getting the following error:
ERROR: Could not install packages due to an OSError: [WinError 5] Access is denied: 'c:\\users\\<mu-user>\\anaconda3\\<my-env>\\kedro_project_tests\\lib\\site-packages\\~ydantic\\annotated_types.cp37-win_amd64.pyd'
Consider using the `--user` option or check the permissions.
I believe this is caused by interactions caused by between different versions Kedro and Kedro-Viz. Simply not pip install
ing kedro-viz
before doing kedro install
fixed it for me.
Note: Related to this, there will surely be an error if the version of Kedro installed through pip
before doing kedro install
is not the same as the version of Kedro specified in requirements.in
or requirements.txt
. This is obvious, as the package currently handling execution will be uninstalled. The error in this case will be something like this:
ERROR: Could not install packages due to an OSError: [WinError 32] The process cannot access the file because it is being used by another process: 'c:\\users\\<my-user>\\anaconda3\\envs\\<my-env>\\scripts\\kedro.exe