Importing in python packages compared to normal scripts
我编写了一个小的python代码,它解析文件中的数据,然后使用selenium将数据输入到一个网站中,我正试图将其与脚本捆绑在一起。
我已经能够将它捆绑到一个pip包中并上传,但是当尝试运行它时,我得到了同一目录中模块的
我的结构很简单
1 2 3 4 5 6 7 | chessil_tourney_inserter/ setup.py chessil_tourney_inserter/ __init__.py (empty) chessil_tourney_inserter.py swiss98_text_parser.py command_line.py |
而setup.py也是非常基本的:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | from setuptools import setup setup(name='chessil_tourney_inserter', . . . packages=['chessil_tourney_inserter'], zip_safe=False, install_requires = [ 'selenium' ], entry_points={ 'console_scripts': [ 'insertchessiltourney = chessil_tourney_inserter.command_line:main'] }) |
目前为止,
1 2 3 4 5 6 7 8 9 10 11 | import chessil_tourney_inserter.chessil_tourney_inserter as cti import sys def main(): if len(sys.argv) == 1: print("Usage: chessil_tourney_inserter.py *tournament name*") exit() cti.main(); if __name__ =="__main__": main() |
Chessil_Tourney_Inserter在以下方面给了我一个导入错误:
1 | import swiss98_text_parser |
但是,如果我尝试直接运行
那么,我应该如何设置这些文件,以便在我自己直接运行文件以及尝试将其作为包导入或作为脚本运行时,导入都能正常工作呢?
在顶部文件夹中也添加
1 2 3 4 5 6 7 8 | chessil_tourney_inserter/ setup.py __init__.py chessil_tourney_inserter/ __init__.py (empty) chessil_tourney_inserter.py swiss98_text_parser.py command_line.py |
看到什么了吗?更多信息。