swanseabrian 发表于 2022-3-8 20:33:08

模块导入问题

新建了一个文件夹
在下面有两个py文件
导入报错
错误 如下
D:\python370\python370.exe C:/Users/Administrator/PycharmProjects/pythonProject2/venv/testimportban/c8.py
Traceback (most recent call last):
File "C:/Users/Administrator/PycharmProjects/pythonProject2/venv/testimportban/c8.py", line 1, in <module>
    from venv.testimportban.c7 import aaaa
ModuleNotFoundError: No module named 'venv.testimportban'
下面是代码
from venv.testimportban.c7 import aaaa
print(aaaa.v)
import sys
print(sys.path)

我路径 里明明有,他为啥找不到呀
C:/Users/Administrator/PycharmProjects/pythonProject2/venv/testimportban
我就奇怪

qq1151985918 发表于 2022-3-8 20:50:32

因为你那个路径不是Python的模块路径,Python加载模块需要从源码根目录或者模块目录加载,而不是哪里都能行。如果c7和c8在同一个目录,直接from c7 import aaaa就可以

swanseabrian 发表于 2022-3-8 20:58:37

qq1151985918 发表于 2022-3-8 20:50
因为你那个路径不是Python的模块路径,Python加载模块需要从源码根目录或者模块目录加载,而不是哪里都能行 ...

我print(sys.path)了,就是在这个路径 里的呀

swanseabrian 发表于 2022-3-8 21:00:12

qq1151985918 发表于 2022-3-8 20:50
因为你那个路径不是Python的模块路径,Python加载模块需要从源码根目录或者模块目录加载,而不是哪里都能行 ...

按你那样改了c7 aaaa底下全是红线

swanseabrian 发表于 2022-3-8 21:01:22

qq1151985918 发表于 2022-3-8 20:50
因为你那个路径不是Python的模块路径,Python加载模块需要从源码根目录或者模块目录加载,而不是哪里都能行 ...

下面路径 是 print(sys.path)输出来的

['C:\\Users\\Administrator\\PycharmProjects\\pythonProject2\\venv\\testimportban', 'C:\\Users\\Administrator\\PycharmProjects\\pythonProject2', 'I:

qq1151985918 发表于 2022-3-9 00:33:52

底下是红线要看有没有报错,报错信息是什么
页: [1]
查看完整版本: 模块导入问题