python --version
Python 2.7.13 :: Continuum Analytics, Inc.
我有以下项目结构:
.
└── foo
├── bar1
│ ├── __init__.py
│ └── mod1.py
├── bar2
│ ├── __init__.py
│ └── mod2.py
├── __init__.py
└── start.py
start.py
from foo.bar2.mod2 import mod2_f
mod2_f()
mod1.py
def mod1_f():
print "mod1_f"
from foo.bar1.mod1 import mod1_f
def mod2_f():
mod1_f()
print "mod2_f"
python ./foo/start.py
Traceback (most recent call last):
File "./foo/start.py", line 1, in <module>
from foo.bar2.mod2 import mod2_f
ImportError: No module named foo.bar2.mod2
from bar2.mod2 import mod2_f
mod2_f()
MOD2.PY
from bar1.mod1 import mod1_f
def mod2_f():
mod1_f()
print "mod2_f"
现在可以通过命令行python./foo/start
来工作。为什么会有这些差异?
foo
是包含所有内容的目录,包括start.py
因此,当从start.py
执行以下操作时
from foo.bar2.mod2 import mod2_f
python查找foo
模块(foo
是一个模块,因为它包含__init__.py
),这个模块在目录结构中太高了。我认为它可以在IDE中工作,因为IDE将每个模块目录都添加到PythonPath中。但不是从命令行。
from bar2.mod2 import mod2_f
import bar2.mod2.mod2_f
文件为空。我正在运行Python2.7.1。 运行会导致。 类似问题:关于相对python导入的最终答案,如何在python中进行相对导入?,在python中进行相对导入
我读了无数关于python中相对导入的讨论,我认为它如此令人困惑的原因之一是它在一个python版本之间发生了变化(我的版本是3.6)。但这里的罪魁祸首似乎是PyCharm(除非我弄错了..)我想知道是否有人找到了解决这个问题的办法。对于具有此布局的项目: 假设aa.py在文件中包含一些fuction,如果我编写这个导入: 因此,为了让PyCharm高兴,我可以将添加到导入中,然后错误似乎就解决了
本文向大家介绍Golang import本地包和导入问题相关详解,包括了Golang import本地包和导入问题相关详解的使用技巧和注意事项,需要的朋友参考一下 1 本地包声明 包是Go程序的基本单位,所以每个Go程序源代码的开始都是一个包声明: 这就是包声明,pkgName 告诉编译器,当前文件属于哪个包。一个包可以对应多个*.go源文件,标记它们属于同一包的唯一依据就是这个package声明
我在Pycharm中有一个python项目,其中有一个嵌套的Git子模块。以下是文件夹结构: 中的导入结构如下: 但是,Pycharm没有意识到这一点,而是希望我拥有以下内容: 这是有问题的,因为我不想更改中的所有导入(这似乎不是一个好的实践,也不可扩展),而且中有破折号,这对于导入来说不是有效的Python语法(我无法重命名repo)。 我还需要一种从我的代码中导入的方法。像这样的东西: 但当然
问题内容: 我有两个表:表A和表B 表A和表B都有列。 表A和表B都有列。 表A的一列也称为。 检查条件: 如果表A“键” =恒定,则从表A检索RowId。 从中获取这些行ID,并检查这些行的字段是否>具有相同rowId的表B的> ModifiedAT字段。 Table没有重复的RowId,而Table具有。 我自己尝试的方法: 注意:另外,令我感到惊讶的是,如果我将硬编码值替换为“ 1”,它会起