【发布时间】:2020-02-01 15:49:44
【问题描述】:
我有一个 Django 项目,其中有一个名为 itemA.py 的文件。然后我删除了该文件,而是创建了一个与我放置文件的名称相同的文件夹。所以新结构看起来像这样:
itemA
itemB.py
itemC.py
...
在此更改之前,当itemA 是一个文件时,它包含一个序列化程序的定义,该序列化程序在其他地方导入。
所以更改后,当我在本地 PC 上运行项目时,我遇到了一个错误提示:
ImportError:没有名为“rest_main.serializers.sms”的模块; 'rest_main.serializers' 不是一个包
在我的本地 PC 上,我立即修复了删除 itemA.pyc 文件的问题。但是当我将更改推送到远程服务器时,同样的技巧并没有帮助。我还运行了find . -name "*.pyc" -exec rm -f {} \; 命令。但是还是没有成功...在bitbucket中,所有的pyc文件都在gitignore下...
【问题讨论】:
-
您是否创建了
__init__.py文件以使文件夹像文件一样可导入? -
没明白你的意思。是的,它在本地工作
-
通常当你尝试导入一个文件夹时,该文件夹必须包含一个名为
__init__.py的文件,它告诉python“嘿,这个文件夹是可导入的” -
你成就了我的一天
-
你让我很开心,兄弟