首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入模块不导入

导入模块不导入
EN

Stack Overflow用户
提问于 2019-10-24 19:12:27
回答 1查看 97关注 0票数 0

我遇到了两个主要问题,当我在一个目录TwitterAnalyzer中拥有所有脚本时,但是当我开始清理时,这一切都很好。出现了一些问题。

我必须将TwitterApi导入Analyzer模块。我已经找到了解决办法,但我看上去很傻(if __name__ == '__main__')。否则导入将无法在父模块_run_GUI_mode.py中工作。

我还试着制作一些__init__.py文件,这两种东西都是导入的,但是它不能正确地导入NameError: name 'TwitterApi' is not defined,这将允许我独立地运行Analyzer。我不完全理解这个主题,它可能有答案:Why does importing a python module not import nested modules?

我是否应该将所有脚本移回同一个目录?我将避免使用路径跟踪到tweets目录的额外工作。分析器正在下载背景推文。

代码语言:javascript
复制
# My Project Tree
.TwitterAnalyzer
    |---LICENSE
    |---README.md
    |---TwitterAnalyzer
        |---Analyzer
            |---Analyzer.py
            |---Readme.md
            |---secret_token.txt
            |---TwitterApi.py
            |---__init__.py
        |---GUI
            |---create_gui_py.py
            |---GUI.py
            |---GUI_QT.ui
        |---tweets
        |---_run_GUI_mode.py
代码语言:javascript
复制
# Analyzer\TwitterAnalyzer.py
# Grzegorz Krug

if __name__ == '__main__':  # this is my solution, but I do not like it
    from TwitterApi import TwitterApi, TwitterLoginFailed 
else:
    from Analyzer.TwitterApi import TwitterApi, TwitterLoginFailed


class TwitterAnalyzer(TwitterApi):
    def __init__(self, autologin=True, log_ui=None):
...
代码语言:javascript
复制
# _run_GUI_mode.py
# Grzegorz Krug

from Analyzer.TwitterApi import TwitterApi, TwitterLoginFailed  # <-- This does not work anyway
from Analyzer.Analyzer import TwitterAnalyzer
from GUI.GUI import Ui_MainWindow

class TwitterAnalyzerGUI(TwitterAnalyzer, Ui_MainWindow):
    def __init__(self, mainWindow):
...
代码语言:javascript
复制
# Analyzer/__init__.py
from TwitterApi import TwitterApi
from Analyzer import TwitterAnalyzer
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-24 19:16:52

__init__.py添加到TwitterAnalyzer目录

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58547792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档