Python 为什么导入仅在未运行配置的情况下运行?

Python 为什么导入仅在未运行配置的情况下运行?,python,pycharm,Python,Pycharm,在PyCharm中,我有一个公共模块(称为common.py),我想从其他几个文件导入它。它以前工作得很好,直到最近我使用Ctrl+Enter运行程序。从那时起,我现在只能用Ctrl+Enter运行代码,使用正常的运行配置无法识别导入;它表示“未使用的导入”,不解析对common.py中方法的引用。以下是我试图运行的文件中的代码: from matplotlib import pyplot as plt from matplotlib import colors as cl from commo

在PyCharm中,我有一个公共模块(称为common.py),我想从其他几个文件导入它。它以前工作得很好,直到最近我使用Ctrl+Enter运行程序。从那时起,我现在只能用Ctrl+Enter运行代码,使用正常的运行配置无法识别导入;它表示“未使用的导入”,不解析对common.py中方法的引用。以下是我试图运行的文件中的代码:

from matplotlib import pyplot as plt
from matplotlib import colors as cl
from common import *

N = np.arange(5, 30, 1, int)

get_noiseless_eigenvalues(np.matrix([[1]]))
PyCharm无法解析
np
get_Noise_特征值
,即使它们共同存在。py:

import numpy as np


def get_noiseless_eigenvalues(m: np.matrix):
    return [v for v in np.linalg.eigh(m)[1] if sum(v) == 0]
我检查了目录是否仍然标记为根目录。这里有什么问题


编辑:我用git检查了更改,结果发现在两个位置添加了一个空的_uinit__uu.py;现在,我至少可以正常运行该程序,但我仍然想知道为什么会发生这种情况

很难判断这里出了什么问题,但一般来说,不要使用
*
导入来避免混淆。确保
工作目录
在您的运行配置中是正确的添加
\uu init\uuuuuuuupy
会更改“目录”进入一个
Python包
,该包更改了可导入内容的规则。Python文档提供了更多信息:很难判断这里出了什么问题,但一般来说,不要使用
*
导入以避免混淆。确保
工作目录
在您的运行配置中是正确的添加
\uu init\uuuuuuuuuupy
会将“目录”更改为
Python包
,这将更改可导入内容的规则。Python文档提供了更多信息: