gpt4 book ai didi

来自 xx.xx import * : no module named 的 Python 导入错误

转载 作者:行者123 更新时间:2023-12-01 03:21:09 25 4
gpt4 key购买 nike

这是我的文件结构:

-test

--m1

---t.py

--m2

---__init__.py

---utils.py

t.py:

from m2.utils import *
print foo()

utils.py:

def foo():
return 5

__init__.py 为空

它适用于我的本地环境(macOS Sierra python 2.7.10):

Shangtong@Shangtong:~/GitHub/PaperReplication/test$ python m1/t.py
5
Shangtong@Shangtong:~/GitHub/PaperReplication/test$ echo $PYTHONPATH
:/Users/Shangtong/DevelopmentKits/libsvm-3.20/python

但是它在我的服务器(Python 2.7.8)中不起作用:

[shangton@jasper test]$ python m1/t.py
Traceback (most recent call last):
File "m1/t.py", line 1, in <module>
from m2.utils import *
ImportError: No module named m2.utils
[shangton@jasper test]$ ls -al
total 16
drwxrwxr-x 4 shangton shangton 4096 Jan 28 09:10 .
drwx------ 4 shangton shangton 4096 Jan 28 10:09 ..
drwxrwxr-x 2 shangton shangton 4096 Jan 28 09:12 m1
drwxrwxr-x 2 shangton shangton 4096 Jan 28 10:09 m2
[shangton@jasper test]$ echo $PYTHONPATH
/global/software/python/Python-2.7.8/lib/python2.7/site-packages/:/global/software/python/Python-2.7.3/lib/python2.7/site-packages/:~/PaperReplication/:~/test/m2:~/test

最佳答案

您正在证明您的 PYTHONPATH 包含:

~/test/m2:~/test

但是,~ 实际上并不是有效的 PATH 组件!这是提示您的 shell 将该字符替换为您的主目录(未加引号时,在单词的第一个位置,或者满足其他条件的情况下)——但 Python 不是您的 shell,如果您的 shell 在设置环境变量时没有遵循该提示(可能是因为它位于字符串中间,因此不在前导位置),则以后将不会遵循该提示,除非 Python 显式调用 os.path.expanduser().

设置环境变量时,使用$HOME:

PYTHONPATH=$HOME/test

关于来自 xx.xx import * : no module named 的 Python 导入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41912618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com