我试图将脚本分成几个带有函数的文件,所以我将一些函数移到了单独的文件中,并希望将它们导入到一个主文件中。结构为:
core/
main.py
posts_run.py
posts_run.py
有两个功能,get_all_posts
并且retrieve_posts
,所以我尝试导入get_all_posts
具有:
from posts_run import get_all_posts
Python 3.5给出了错误:
ImportError: cannot import name 'get_all_posts'
Main.py包含以下代码行:
import vk
from configs import client_id, login, password
session = vk.AuthSession(scope='wall,friends,photos,status,groups,offline,messages', app_id=client_id, user_login=login,
user_password=password)
api = vk.API(session)
然后我需要将api导入函数,因此我有能力获得对vk的API调用。
全栈跟踪
Traceback (most recent call last):
File "E:/gited/vkscrap/core/main.py", line 26, in <module>
from posts_run import get_all_posts
File "E:\gited\vkscrap\core\posts_run.py", line 7, in <module>
from main import api, absolute_url, fullname
File "E:\gited\vkscrap\core\main.py", line 26, in <module>
from posts_run import get_all_posts
ImportError: cannot import name 'get_all_posts'
api = vk.API(session)
api-是main.py中的一个。absolute_url和全名也存储在main.py中。我在Windows 7,virtualenv中的Python 3.5 x64上使用PyCharm 2016.1。如何导入此功能?
您需要添加__init__.py
您的核心文件夹。您收到此错误,因为python无法将您的文件夹识别为python包
在那之后
from .posts_run import get_all_posts
# ^ here do relative import
# or
from core.posts_run import get_all_posts
# because your package named 'core' and importing looks in root folder
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句