无法在终端中导入Python模块

无法在终端中导入Python模块

我正在使用 Kali Linux,并尝试运行一些 Python3 代码。

在此输入图像描述

但它总是给我这样的错误日志。

然而,后来我退出该目录并导航到我的主目录,它再次工作。

在此输入图像描述

我想这可能和我现在的道路有关。

但这如何影响我的进口并导致这样的问题呢?

更新#1

我在这找到了解决方案

答案1

当您位于目录 /usr/lib/python2.7/dist-packages 中时,有一个名为 enum 的模块:

ls | grep ^enum
enum 

因此,当你的 python3 尝试导入 re 时,它​​依赖于 enum,它尝试将其加载到当前目录中,查看 sys.path,在此 contect 中''是当前目录。但在该目录中它是一个 python 2.7 模块。这就是为什么当您位于任何其他目录时看不到该错误的原因。

>>> print(sys.path)
['', 
'/Library/Frameworks/Python.framework/Versions/3.6/lib/python36.zip', 
'/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6', 
'/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib- 
dynload', 
'/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site- 
packages']

所以你可以更新你的 sys.path 或者只是不能在 python2.7 包目录中使用 python3。

相关内容