ImportError:无法从AWS EC2上的“ psutil”导入名称“ _psutil_linux”

问题描述

我在AWS上运行EC2实例,并且使用python包出现错误。我已经使用psutil安装了stanfordcorenlppip,但是当我尝试导入时却出现以下错误

>>> from stanfordcorenlp import StanfordCoreNLP
Traceback (most recent call last):
  File "<stdin>",line 1,in <module>
  File "/home/ec2-user/maxio-efs/stanfordcorenlp/__init__.py",in <module>
    from stanfordcorenlp.corenlp import StanfordCoreNLP
  File "/home/ec2-user/maxio-efs/stanfordcorenlp/corenlp.py",line 14,in <module>
    import psutil
  File "/home/ec2-user/maxio-efs/psutil/__init__.py",line 99,in <module>
    from . import _pslinux as _psplatform
  File "/home/ec2-user/maxio-efs/psutil/_pslinux.py",line 26,in <module>
    from . import _psutil_linux as cext
ImportError: cannot import name '_psutil_linux' from 'psutil' (/home/ec2-user/maxio-efs/psutil/__init__.py)

即使导入psutil似乎也不起作用

>>> import psutil
Traceback (most recent call last):
  File "<stdin>",in <module>
  File "/home/ec2-user/maxio-efs/psutil/__init__.py",in <module>
    from . import _psutil_linux as cext
ImportError: cannot import name '_psutil_linux' from 'psutil' (/home/ec2-user/maxio-efs/psutil/__init__.py)

我尝试了许多解决方案,包括安装python-devel。我该如何解决

解决方法

我从错误的目录执行代码。我已经安装了一个名为maxio-efs的具有文件结构的EFS:

SSH POINT/
    maxio-efs/
        stanfordcorenlp
        psutil
        (other python packages)

上述错误仅在从maxio-efs目录的 inside 中运行python脚本时发生。我需要在其他任何地方才能使python能够找到正确的软件包。通过在与maxio-efs相同的目录级别上运行python脚本,问题就解决了。