Python ImportError:没有名为common的模块
我的项目有两个dirPython ImportError:没有名为common的模块,python,Python,我的项目有两个dircommon和core root |----common | |-----__init__.py | |-----util.py | |------core |-----__init__.py |------iemoji.py 在root中,我执行pythoncore/iemoji.py,出现一个错误 回溯(最近一次呼叫最后一次): 模块中第6行的文件“core/iemoji.py” 从公共导入util
common
和core
root
|----common
| |-----__init__.py
| |-----util.py
|
|------core
|-----__init__.py
|------iemoji.py
在root中,我执行pythoncore/iemoji.py
,出现一个错误
回溯(最近一次呼叫最后一次):
模块中第6行的文件“core/iemoji.py”
从公共导入util
ImportError:没有名为common的模块 我像这样导入utils.py:
from common import util
设置
\uuuu init\uuuu.py
以指向各自文件夹中的模块
通用的\uuuu init\uuuuuuu.py
:
from . import util
from . import emoji
堆芯的\uuuu init\uuuuuuuuuupy
:
from . import util
from . import emoji
然后,您应该能够通过以下方式调用它:
from common import util
让我知道这是否有效。设置您的
\uuuu init\uuuuu.py
指向各自文件夹中的模块
通用的\uuuu init\uuuuuuu.py
:
from . import util
from . import emoji
堆芯的\uuuu init\uuuuuuuuuupy
:
from . import util
from . import emoji
然后,您应该能够通过以下方式调用它:
from common import util
让我知道这是否有效。调用
python core/emoji.py
时,/path/to/root/
似乎不在您的python路径上。您可以通过在脚本中打印sys.path
进行检查
import sys
print(sys.path)
通过设置PYTHONPATH
环境变量,可以将根目录添加到python路径:
PYTHONPATH=/path/to/root python core/emoji.py
或者您可以在脚本中设置它:
import sys
sys.path.append('/path/to/root')
调用
python-core/emoji.py
时,/path/to/root/
似乎不在python路径上。您可以通过在脚本中打印sys.path
进行检查
import sys
print(sys.path)
通过设置PYTHONPATH
环境变量,可以将根目录添加到python路径:
PYTHONPATH=/path/to/root python core/emoji.py
或者您可以在脚本中设置它:
import sys
sys.path.append('/path/to/root')
在python core/iemoji.py之前添加这个导出PYTHONPATH=“$PWD”,在python core/iemoji.py之前添加这个导出PYTHONPATH=“$PWD”什么是常见的
\uu init\uuuuu.py
?它是空的,由Pycharm(python ide)创建。模块是文件,不是目录。你应该说“来自utils”。@CoXier你的设置应该很好,我刚刚自己测试过。你试过Alasdair的答案(print(sys.path))吗?是的,我打印(sys.path),我看到第一项是我的根/Users/myname/project/core
。什么是common的\uu init\uuuuuuuuuuuuuuuuuuuuuuupy
?它是空的,由Pycharm(一个python ide)创建。模块是一个文件,而不是一个目录。你应该说“来自utils”。@CoXier你的设置应该很好,我刚刚自己测试过。你试过阿拉斯代尔的答案(print(sys.path))吗?是的,我打印了(sys.path),我看到第一项是我的根/Users/myname/project/core
。我很抱歉。它是util.py
而不是utils.py
。我犯了一个错误。对不起,是的,我查过了,对不起。它是util.py
而不是utils.py
。我犯了一个错误。抱歉。是的,我已经检查过了。我不知道为什么我可以在其他项目中这样做。在您的其他项目中,您必须导入python路径上的内容。比较项目的布局和sys.path的输出可能会帮助您找出区别。我不理解您的问题-我的答案已经说明了如何在脚本中向python路径添加目录。感谢您的回答。为什么/path/to/root/不在python路径上?我不知道为什么我可以这样做在其他项目中这样做。在其他项目中,必须导入python路径上的内容。比较项目的布局和sys.path的输出可能会帮助您找出区别。我不理解您的问题-我的答案已经说明了如何在脚本中向python路径添加目录。感谢您的回答。为什么/path/to/root/不在python路径上?