Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ImportError:没有名为common的模块_Python - Fatal编程技术网

Python ImportError:没有名为common的模块

Python 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

我的项目有两个dir
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路径上?