大家好,请教一个 Python 报错问题。
我在 Mac 终端运行 Python 文件.py 时一直报错:
print('ModuleNotFoundError: No module named 'baidu_theme_spider'')
在网上查找了一些方法均失效,最常用的方法是在.py 文件中加入以下代码:
import sys
import os
curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
sys.path.append(rootPath)
不过我在.py 文件中添加成功后再次运行仍然报错,不知道大家有没有遇到过这个问题?
谢谢
1
aborigine 2019-10-11 22:53:00 +08:00
你装了 baidu_theme_spider 这个 module 吗
|
2
aborigine 2019-10-11 22:54:03 +08:00
或者你有这个 baidu_theme_spider.py 文件吗
|
4
renmu 2019-10-11 23:55:05 +08:00 via Android
你应该贴一下你的文件树结构,不然没办法判断
|
5
BBCCBB 2019-10-11 23:58:01 +08:00
搜一下 python -m
|
6
ClericPy 2019-10-12 00:01:40 +08:00
我感觉你的 cwd 的问题...
首先, 搞懂各种路径的意思 cwd pwd 等等 其次, 这个时代别纠结 os.path 了, 直接用 pathlib 再次, importlib 可以解决一部分绝对路径的引用问题 |
7
wongyusing 2019-10-12 00:31:31 +08:00
你贴一下项目结构。
我估计你的目录里面没有 __init__.py 文件 |
8
Trim21 2019-10-12 01:29:06 +08:00 via Android
贴一下你的文件目录结构以及你终端工作路径的位置
python3 里没有 init 文件也能正常从子文件夹里面直接 import 对应文件,所以这个多半不是问题 |
9
careofzm 2019-10-12 10:19:06 +08:00
尝试了一下,并没有发现问题
首先,Python 会将当前执行文件的所在的文件夹自动加入 path 你的代码会将当前执行文件的所在的文件夹的上级文件夹加入 path 如果你的 baidu_theme_spider 是自己写的, 在这两文件夹内是不会找不到的 |