Pandas Python 程序在 Python3、3.8 但不是 3.6 上运行

Posted

技术标签:

【中文标题】Pandas Python 程序在 Python3、3.8 但不是 3.6 上运行【英文标题】:Pandas Python Program runs on Python3, 3.8 but not 3.6 【发布时间】:2021-11-21 16:00:45 【问题描述】:

每当我运行命令python3.6 Check.py 时,都会出现以下错误,

Pandas Error

Traceback(最近一次调用最后一次): 文件“/usr/lib/python3/dist-packages/pandas/init.py”,第 30 行,在 从 pandas._libs 导入哈希表为 _hashtable,lib 为 _lib,tslib 为 _tslib 文件“/usr/lib/python3/dist-packages/pandas/_libs/init.py”,第 3 行,在 从 .tslibs 导入( 文件“/usr/lib/python3/dist-packages/pandas/_libs/tslibs/init.py”,第 3 行,在 从 .conversion 导入 localize_pydatetime, normalize_date ModuleNotFoundError:没有名为“pandas._libs.tslibs.conversion”的模块

在处理上述异常的过程中,又发生了一个异常: 回溯(最近一次通话最后): ​文件“Check.py”,第 2 行,在 ​将熊猫导入为 pd ​文件“/usr/lib/python3/dist-packages/pandas/init.py”,第 38 行,在 ​“C 扩展优先。”.format(module) ImportError:C 扩展:未构建名为“pandas._libs.tslibs.conversion”的模块。如果要从源目录导入 pandas,可能需要先运行“python setup.py build_ext --inplace --force”来构建 C 扩展。

我迅速google了错误,找到了这个链接:No module named 'pandas._libs.tslib'

我卸载熊猫: uninstall message

找到现有安装:pandas 1.3.3 卸载 pandas-1.3.3: 将删除: /u/riker/u97/pmohanty/.local/lib/python3.8/site-packages/pandas-1.3.3.dist-info/* /u/riker/u97/pmohanty/.local/lib/python3.8/site-packages/pandas/* 继续(是/否)?是的 成功卸载 pandas-1.3.3

我重新安装它: reinstall message

已满足要求:/usr/lib/python3/dist-packages (0.25.3) 中的 pandas

我也升级了: upgrade message

收集熊猫 使用缓存的 pandas-1.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.5 MB) 已满足要求,跳过升级:/u/riker/u97/pmohanty/.local/lib/python3.8/site-packages 中的 numpy>=1.17.3(来自 pandas)(1.21.2) 已满足要求,跳过升级:/u/riker/u97/pmohanty/.local/lib/python3.8/site-packages 中的 pytz>=2017.3(来自 pandas)(2021.1) 已满足要求,跳过升级:/u/riker/u97/pmohanty/.local/lib/python3.8/site-packages 中的 python-dateutil>=2.7.3(来自 pandas)(2.8.2) 已满足要求,跳过升级:/u/riker/u97/pmohanty/.local/lib/python3.8/site-packages 中的六个>=1.5(来自 python-dateutil>=2.7.3->pandas)(1.16. 0) 安装收集的包:pandas 成功安装pandas-1.3.3

尽管执行了这些步骤,但我的文件不会运行。 奇怪的是它适用于python3,python3.8,但不适用于python3.6。

python3 --version 输出 3.8.10

python3.6 --version 输出 3.6.9

pip --version 从 /usr/lib/python3/dist-packages/pip (python 3.8) 输出 pip 20.0.2

我是 python、pandas 和 *** 的新手。任何帮助表示赞赏。

PS:我需要让它在 3.6 中工作:'(

【问题讨论】:

在问题中将错误和其他消息显示为格式正确的文本,而不是图像或外部链接。 请提供足够的代码,以便其他人更好地理解或重现问题。 【参考方案1】:

如果你真的需要它在 python 3.6 中工作,你需要 为 python 3.6 安装它

python3.6 -m pip install pandas

参见例如this article 讨论为什么会这样。

【讨论】:

我收到“ModuleNotFoundError: No module named 'distutils.util'” 那么你的python 3.6安装坏了,你需要在安装pandas之前修复它。您也许可以使用python3.6 -m ensurepip 解决它。 我会尝试安装它。但是 ssh 不允许我使用 sudo 命令安装 python3.6。还有其他方法吗?对不起,我对此真的很陌生? 啊,所以你正在连接到服务器。如果你不能 sudo 那与 ssh 无关。你运行服务器吗?为什么你必须使用python 3.6? AFAIK 无论如何你都不需要 root 来运行 ensurepip,但我可能是错的 在这种情况下,您别无选择:您可以选择故意限制 python3.6 或工作 3.8。如果允许使用 pandas,请为 3.8 编写注意不要使用 f 字符串。在任何情况下,这都是您所在机构要处理的事情:询问他们希望您如何安装软件包,以及您可以安装什么。

以上是关于Pandas Python 程序在 Python3、3.8 但不是 3.6 上运行的主要内容,如果未能解决你的问题,请参考以下文章

python3.8.6如何安装pandas

python3 + Pandas 样式 + 更改备用行颜色

在 debian10 中在不同的 python 版本上安装 pandas

Python3快速入门(十三)——Pandas数据结构

ubuntu16.04安装python3,numpy,pandas等量化计算库

Python3快速入门(十五)——Pandas数据处理