繁体   English   中英

Pandas read_hdf 不能在 linux 服务器上运行,而是在本地运行 - python

[英]Pandas read_hdf not working on linux server but locally - python

我有一些代码可以在我的本地计算机上完美运行,但是当我尝试在 linux 服务器上运行它时(通过 ssh 连接,然后启动我的 docker 容器),我收到以下错误消息:

日志:客户端连接上的意外 EOF 与打开的事务 [警告] 由于信号 4,pid 为 49 的工作器被终止

在我的代码中断的那一行,我尝试用 pandas.read_hdf() 打开一个文件

import pandas as pd
from pathlib import Path

[...]
if Path(path_to_file).is_file():
    result = pd.read_hdf(path_to_file, mode='r', key=keyword)
    [...]

我的服务器上确实有该文件,如果找到该文件(返回 True),我还会检查Path(path_to_file).is_file() )。 我不知道为什么它可以在本地运行,但不能在服务器上运行。 非常感谢任何帮助,如果应该提供更多信息,请告诉我!

一位同事解决了我的问题:Pandas 是通过 pip 安装的。 服务器无法完全读取预编译的轮子(可能是由于 CPU 稍有不同)。 Debian 编译他的软件包与 pypi 有点不同,pypi 在我的情况下有效。 所以我从我的 requirements.txt 中删除了 pandas 并将以下行添加到我的 Dockerfile 中:

RUN apt-get update && \
    apt-get upgrade -y && \
    apt-get install -y build-essential python3-dev python3-pandas python3-pip && \
    apt-get clean -y && \

注意这里的python3-pandaspython3-pip

另一种选择是编译熊猫,而不是使用轮子,这可以通过pip3 install pandas --no-binary来完成(参见https://stackoverflow.com/a/38263887/12106282

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM