首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kedro安装失败,但成功的尝试很少。

Kedro安装失败,但成功的尝试很少。
EN

Stack Overflow用户
提问于 2021-06-11 18:00:58
回答 1查看 650关注 0票数 2

我必须测试我的kedro项目是否在github中工作,所以我创建了一个新的环境,然后:

代码语言:javascript
复制
git clone <my_project>
pip install kedro kedro[pandas] kedro-viz jupyter
kedro build-reqs
kedro install

安装失败,然后我重试几次(有时是2或3次),然后下一次尝试就成功了。

编辑: python -V :Python3.7.10kedro--版本: kedro,版本0.17.3

我不能发布我的requirement.txt (主要是代码),所以这里是我的requirement.in

代码语言:javascript
复制
black==v19.10b0
flake8>=3.7.9, <4.0
ipython==7.10
isort>=4.3.21, <5.0
jupyter~=1.0
jupyter_client>=5.1, <7.0
jupyterlab==0.31.1
kedro==0.17.3
nbstripout==0.3.3
pytest-cov~=2.5
pytest-mock>=1.7.1, <2.0
pytest~=6.1.2
wheel==0.32.2
spacy>=3.0.0,<4.0.0
scikit-learn == 0.24.2
kedro-viz==3.11.0
wordcloud== 1.8.1
https://github.com/explosion/spacy-models/releases/download/fr_core_news_sm-3.0.0/fr_core_news_sm-3.0.0.tar.gz#egg=fr_core_news_sm
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-17 14:43:22

正如评论中所指出的,我认为有两个问题在起作用。

1.解码错误

这是您得到的主要例外,即:

代码语言:javascript
复制
UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xe8 in position 69: invalid continuation byte

在Kedro本身处理来自pip install的错误时,会意外地引发此问题(请参阅这行Kedro的源代码)。我相信原因可能是您的工作目录中有重音字符,这不能被Python的标准decode()解释(参见)。示例:

代码语言:javascript
复制
b'accélération'.decode()
>> SyntaxError: bytes can only contain ASCII literal characters.

解码错误掩盖了实际的pip install错误。

2. pip install误差

正如您正确指出的,kedro install在引擎盖下使用pip install。如果没有看到实际的错误,就很难找出确切的原因。但是,我可以复制一个类似的问题,在我的例子中得到以下错误:

代码语言:javascript
复制
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.

我认为这是由不同版本的Kedro和Kedro-Viz之间的交互造成的。在做pip install之前,不要为kedro-vizkedro install,而是为我修复它。

注意:与此相关的是,如果在执行pip之前通过kedro install安装的Kedro版本与requirements.inrequirements.txt__中指定的Kedro版本不同,则肯定会出现错误。这是显而易见的,因为当前处理执行的包将被卸载。本例中的错误如下所示:

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67941614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档