我正在使用 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。