Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.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:无法从';导入名称__主&';_Python_Import - Fatal编程技术网

Python ImportError:无法从';导入名称__主&';

Python ImportError:无法从';导入名称__主&';,python,import,Python,Import,变量isDevelopment位于manager/\uuuuu init\uuuuuuu.py文件中: isDevelopment = True 在同一目录中,文件fusion.py尝试在文件级别导入它: from . import isDevelopment 注意:pycharm与之矛盾:在任何情况下都不会标记导入: 当试图从其他位置导入时,例如。pycharm会抱怨: 跑步时 python3 manager/fusion.py 发生以下情况: ImportError: can

变量
isDevelopment
位于
manager/\uuuuu init\uuuuuuu.py
文件中:

 isDevelopment = True
在同一目录中,文件
fusion.py
尝试在文件级别导入它:

from . import isDevelopment
注意:
pycharm
与之矛盾:在任何情况下都不会标记导入:

当试图从其他位置导入时,例如
pycharm会抱怨:

跑步时

 python3 manager/fusion.py
发生以下情况:

 ImportError: cannot import name 'isDevelopment' from '__main__'
根据其中一项建议进行另一次尝试:

from ..manager import isDevelopment
这导致:

ValueError: attempted relative import beyond top-level package

为什么尝试导入的
无效?需要更改的内容是什么?

\uuuuu init\uuuuuuupy
用于初始化包。根据

包的用户可以从包中导入单个模块

您不需要导入
\uuuu init\uuuuuy.py
中的内容,它会在您进行导入时自动运行

在最简单的情况下,init.py可以只是一个空文件,但它也可以为包执行初始化代码

由于
isDevelopment
不是模块,您无法导入它!如果您有另一个模块
fusion2.py
,则可以使用

from . import fusion2
在那里你应该可以看到
isDevelopment

./test.py
./manager/__init__.py
./manager/fusion.py
__初始值 /经理/fusion.py /test.py 执行 输出 问题:
您正在尝试执行manager/fusion.py来设置模块,还是希望它成为可执行应用程序的一部分?如果您只是想知道manager模块中isDevelopment的价值,那么这是可以实现的。如果希望manager中包含可执行函数,请使用setup.py来探索入口点。

您是否尝试过my_package import isDevelopment中的
或..my_package import isDevelopment中的
question@GreenCloakGuy
from..manager导入是开发值错误:尝试了相对导入超越顶级软件包
@Kristian np:我刚刚依次删除了我的。谢谢你的期待!如果只是删除了该导入:
NameError:name'isDevelopment'未定义
pycharm
将其标记为红色此代码库中的许多地方都有导入的变量:您能进一步解释吗?init.py中的变量?你可能应该首先展开你的问题。回答一些我们无法看到和评估的问题是复杂的。但是从我看来,你没有从init.py导入变量。我没有把
\uuu init\uuuuuuuuuuuuuuuuuuuuuuuupy
作为不同的地方:会再次检查我是否在其他地方使用它的变量。根据这个
你应该能够把它们放在
感谢您的调查:仍然不确定我的模块内部发生了什么,因此它在那里不起作用:但您已经确定了它在一般情况下应该起作用。我可能会尽快获奖。。希望在某个时刻发生什么。我现在放弃了,把它变成了一个模块局部变量
isDevelopment = True
from . import isDevelopment

def checkDevelopment():
    print("isDevelopment = {0}".format(isDevelopment))
import manager

if __name__ == "__main__":
    print("isDevelopment = {0}".format(manager.isDevelopment))
    manager.checkDevelopment()
python3 ./test.py
isDevelopment = True
isDevelopment = True