gpt4 book ai didi

python - Fabric 无法在函数中导入模块

转载 作者:行者123 更新时间:2023-11-28 19:25:03 26 4
gpt4 key购买 nike

这是我的结构脚本的摘录

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

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

当我运行它时,出现错误“ImportError: No module named php.git”

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

resource/php/下有git.py:

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

最佳答案

您遇到了命名空间冲突。

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

因此,当您声明 from resource... 时,一切都变得一团糟。 Python 找不到 php.git,因为在标准 resource python 模块中确实没有这样的功能。

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

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

重要

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

关于python - Fabric 无法在函数中导入模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15489553/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com