我不明白为什么Python在这种情况下会抛出异常。我尝试从全局安装的包中导入,而有一个前缀与包名相同的文件。我遗漏了什么?
$ touch fabric.py
$ python2
...
>>> from fabric.api import run
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named api
我想把我所有的单元测试放在一个单独的目录中。我的项目布局如下:
project
package
__init__.py
package.py
tests
__init__.py
package_test.py
package_test.py看起来像:
from unittest import TestCase
from package import Service
class ServiceTest(TestCase):
def test_build():
service = Servi
假设我有以下python源文件布局:
lib/foo.py
lib/foo/bar.py
然后在我的源代码中:
from foo import gaz
我得到一个导入错误:
ImportError: No module named foo
如何才能使.py文件和目录具有相同的名称,以便可以执行以下操作:
from foo import gaz
from foo.bar import wakawaka
提前感谢!
我有一个数学和物理的程序,我想做。我决定不把所有的文件都放在一个文件里,而应该把它分成几个文件。我后来了解到,这样做的行为是创建一个模块。我环顾了一下网络,那里的所有教程都非常令人困惑。我想知道如何创建一个模块和它背后的所有基本技术细节。我也被python path这个术语搞糊涂了。当我查找有关创建模块的教程时,它看起来是这样的:
# Fibonacci numbers module
def fib(n): # write Fibonacci series up to n
a, b = 0, 1
while b < n:
print b,
我在python包的顶级__init__.py中定义了大量的名称。我想使用一个相对导入来导入这个命名空间,因为我不一定在运行时知道包名(它甚至可以用作其他包的子包)。例如,接受以下包:
my_package/
__init__.py
a = 1
b = 2
...
my_module.py
from . import ??? as my_package
print(my_package.a)
如何在my_module中修复导入语句,以便打印语句正确工作?我还希望避免使用from . import a
这就是我要犯的错误
Traceback (most recent call last):
File "detectron/utils/subprocess.py", line 28, in <module> import numpy as np
File "/usr/local/lib/python2.7/dist-packages/numpy/__init__.py", line 142, in <module> from . import add_newdocs
File "/usr/local/lib/pytho
说:Packages are a way of structuring Python’s module namespace by using “dotted module names”. For example, the module name A.B designates a submodule named B in a package named A.
包在文档中定义为dir,包含一些子目录或文件。按照这个约定,这些子包将是子包。那么子模块是子包中的一个模块,还是子包中的一个模块?
如果说模块名A.B是在一个名为A的包中指定一个名为B的模块,会更清楚吗?
假设dir A有一个包含文件D的子
我只是试图理解python中的模块和包,并尽我所能地理解:
A module is a file containing Python definitions and statements.
A package is a directory containing modules or other packages.
现在,我创建了一个非常简单的目录结构,如下所示:
my_package/
__init__.py
my_module.py
然后,在解释器中,我这样做了:
>>> import my_package
>>> type(my_