我遇到了两个主要问题,当我在一个目录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目录的额外工作。分析器正在下载背景推文。
# 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# 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):
...# _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):
...# Analyzer/__init__.py
from TwitterApi import TwitterApi
from Analyzer import TwitterAnalyzer发布于 2019-10-24 19:16:52
将__init__.py添加到TwitterAnalyzer目录
https://stackoverflow.com/questions/58547792
复制相似问题