3

这是我的织物脚本的摘录

def create_php_site(name):
    """
    Creates a new php installation
    """

    from resource.php.git import gitignore
    from resource.php.nginx import nginx

当我运行它时,我收到错误“ImportError:没有名为 php.git 的模块”

但是如果我将“from resource.php.git import gitignore”移到函数之外,它就可以工作。有任何想法吗?resource.php.git 的每一层都有__init__.py

在resource/php/中有git.py:

gitignore = """.DS_Store
._.DS_Store
"""
4

1 回答 1

0

您遇到了命名空间冲突。

无法命名您的目录resource,因为有一个名为resource- http://docs.python.org/2/library/resource.html的标准 python 模块

因此,当您宣布from resource...所有地狱都破裂时。Python 找不到php.git,因为在标准的resourcePython 模块中,确实没有这样的功能。

我创建了一个类似的示例,但将resource目录重命名为myresource. 执行导入然后完美工作。像这样:-

>>> from myresource.php.git import gitignore
>>> gitignore
'my ignore strings'

重要的

还请确保您的目录__init__.py中有一个文件myresource

于 2013-03-19T00:54:00.000 回答