You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

本地Ubuntu 16.04 LTS导入Pandas失败,求助解决方法

解决Ubuntu 16.04 LTS下Pandas导入失败的问题

看了你的情况——本地Ubuntu 16.04笔记本始终无法导入Pandas,同版本云服务器却能正常运行,用conda和pip安装后还报出不同的错误,这大概率是本地Python环境的依赖冲突或者版本适配问题,给你几个针对性的排查和解决步骤:

1. 对齐本地与服务器的Python/Pandas版本

云服务器能正常运行,说明它的环境是适配的,先把本地的版本和服务器完全对齐:

  • 检查本地与服务器的Python版本:
python --version
python3 --version

很多人本地同时安装了Python2和Python3,pip/conda可能默认关联到了不同版本,导致安装的Pandas不在你当前运行的Python环境中。

  • 查看服务器上的Pandas版本:
python -c "import pandas; print(pandas.__version__)"

记下这个版本号,后续本地就安装完全一致的版本。

2. 彻底清理残留的损坏Pandas文件

两次安装报错不同,很大概率是之前的安装残留了损坏的文件,先彻底清理干净:

  • 若之前用conda安装过:
conda remove --force pandas
conda clean --all
  • 用pip卸载:
pip uninstall -y pandas
pip cache purge

还可以手动前往Python的site-packages目录(比如/usr/local/lib/python3.5/site-packages/或虚拟环境下的对应路径),删除所有带pandas的文件夹和文件,确保无残留。

3. 安装适配Ubuntu 16.04的Pandas版本

Ubuntu 16.04自带的Python版本较老(比如Python3.5),高版本Pandas已不再支持该版本,因此必须安装适配的旧版本:

  • 若为Python3.5,最后一个支持的Pandas版本是0.25.3;若为Python3.6,可安装1.1.5。直接指定版本安装:
    • conda方式:
    conda install pandas==x.x.x  # 将x.x.x替换为服务器查到的版本
    
    • pip方式:
    pip install pandas==x.x.x
    

4. 用虚拟环境隔离依赖冲突

本地全局环境可能存在其他库干扰,创建全新的虚拟环境测试:

  • 用virtualenv:
sudo apt-get install virtualenv
virtualenv -p python3 my_pandas_env
source my_pandas_env/bin/activate
pip install pandas==x.x.x
# 测试导入
python -c "import pandas as pd; print('导入成功!')"
  • 用conda虚拟环境:
conda create -n my_pandas_env python=3.5 pandas==x.x.x
conda activate my_pandas_env
python -c "import pandas as pd; print('导入成功!')"

如果虚拟环境中能正常导入,说明是全局环境的依赖冲突问题,后续可以直接使用这个虚拟环境进行开发。

5. 解决pip安装后的re_type导入错误

这个错误通常是Pandas依赖的Numpy版本不兼容导致的,需要为Pandas搭配对应版本的Numpy:
比如安装Pandas 0.25.3时,搭配Numpy 1.18.5:

pip install numpy==1.18.5 pandas==0.25.3

你可以根据Pandas的版本查找对应的兼容Numpy版本,参考Pandas官方的版本兼容矩阵。

6. 补全系统级依赖

Ubuntu 16.04可能缺少一些编译依赖,先安装后再重试:

sudo apt-get update
sudo apt-get install build-essential python3-dev python3-pip libatlas-base-dev

如果以上步骤都尝试后仍无法解决,你可以提供本地的Python版本、pip/conda版本,以及pip listconda list的输出,方便进一步排查。

内容的提问来源于stack exchange,提问作者Ludlow_Luddite

火山引擎 最新活动