首页 > 解决方案 > ImportError:无法从 AWS EC2 上的“psutil”导入名称“_psutil_linux”

问题描述

我在 AWS 上运行 EC2 实例并且使用 python 包时出错。我已经安装psutilstanfordcorenlp使用pip了,当我尝试导入时,我收到以下错误:

>>> from stanfordcorenlp import StanfordCoreNLP
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/ec2-user/maxio-efs/stanfordcorenlp/__init__.py", line 1, 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>", line 1, in <module>
  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)

我尝试了很多解决方案,包括安装python-devel. 我该如何解决这个问题?

标签: pythonamazon-web-servicesamazon-ec2psutil

解决方案


我从错误的目录执行代码。我安装了一个以maxio-efs文件结构命名的 EFS:

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

上述错误仅在从目录内运行 python 脚本时发生maxio-efs。为了让 python 能够找到正确的包,我需要在其他任何地方。通过从与 相同的目录级别运行 python 脚本maxio-efs,问题就消失了。


推荐阅读