当我以我认为应该做的方式从子模块导入时,我会得到一个重要错误
。
我有以下套餐:
pkg/
__init__.py
cow.py
pizza.py
pkg.py
components/
components.py
otherstuff.py
__init__.py
cow.py:
print "Hello"
from components import foodle
components.py:
foodle=5
而\uuuu init\uuuu
是空的。
我很难把东西放在正确的地方,或者很难正确地组织它们。当,从pkg目录,我尝试
from pkg import foodle
我得到"重要错误:不能导入名称ftdle"
从子模块中排列文件和导入的正确方法是什么?我已经阅读了如何从git子模块导入python文件;我尝试了在组件/__init__. py和cow.py中扰乱sys.path
,但没有成功。这个包是在git上共享的,所以需要便携。组件
实际上是git子模块。
将components import*中的放入components/中的
\uuuu init\uuuu py
似乎有效,但我认为通常该文件保持为空。
我缺少的要素有(这些是我的解释,可能仍然不正确):
获取子模块和子包的点表示法适用于pkg
中的文件和文件夹。因此,从其他文件夹,但在我的路径中使用pkg
,我可以调用以下任何一个:
import pkg
from pkg.cow import foodle
from pkg.components import foodle
from pkg.components.components import foodle
我在Pycharm中有一个python项目,其中有一个嵌套的Git子模块。以下是文件夹结构: 中的导入结构如下: 但是,Pycharm没有意识到这一点,而是希望我拥有以下内容: 这是有问题的,因为我不想更改中的所有导入(这似乎不是一个好的实践,也不可扩展),而且中有破折号,这对于导入来说不是有效的Python语法(我无法重命名repo)。 我还需要一种从我的代码中导入的方法。像这样的东西: 但当然
我有一个使用git子模块的项目。在我的python文件中,我想在子模块项目中使用另一个python文件中的函数。 为了工作,我必须将init.py文件添加到路径中的所有子文件夹中。我的文件夹树如下: 有没有办法让它在不接触mygitsubmodule的情况下工作? 谢谢
我有一个这样的目录: 我可以这样导入父模块: 那么,既然我已经有了父模块,那么获取子模块的最佳方法是什么?我已经尝试了,,等。 有什么建议吗? 谢谢
(我意识到在与python相对导入相关的StackOverflow上有很多问题;我也怀疑我做得完全错误;但不管怎样,还是这样吧……) 我有一个python项目(mysubmod)组织如下: 重要的是: /models/hello.py导入lib.foobar 然后我有了第二个项目(myproj),我将mysubmod作为git子模块导入其中;myproj现在组织如下- 哪里: scripts/te
问题内容: 我想将子文件夹导入为模块。因此,每个子文件夹都包含一个。我的文件夹结构是这样的: 在我的主脚本中,我导入 在此工厂文件中,我包括以下子模块: 如果我调用我的foofactory会收到错误消息,则该python无法导入子模块foo1和foo2: 问题答案: 无需与您或此处混淆。 为了在包中正确使用绝对导入,您还应该包括“ root”包名,例如: 或者您可以使用相对导入:
我一直在努力与Python上的相对导入。 我的项目结构是这样的: 我想先将一组函数从位于