我已经编写了一个小python代码,它解析文件中的数据,然后使用Selenium将数据输入到一个网站,我正在尝试将其与一个脚本捆绑在一起。你知道吗
我已经能够将它捆绑到一个pip包中并上传它,但是当尝试运行它时,我得到了相同目录下模块的ImportError: No module named '<name>'
。你知道吗
我的结构很简单
chessil_tourney_inserter/
setup.py
chessil_tourney_inserter/
__init__.py (empty)
chessil_tourney_inserter.py
swiss98_text_parser.py
command_line.py
以及设置.py也很基本:
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']
})
现在command_line.main
只需调用chessil_tourney_inserter
:
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\u tourney\u inserter给了我一个导入错误:
import swiss98_text_parser
但是如果我尝试直接运行chessil_tourney_inserter.py
,它就会工作,如果我将包名添加到导入中,它就会中断chessil_tourney_inserter.py
那么,我应该如何设置文件,以便在我自己直接运行文件时,以及在我尝试将其作为包导入或作为脚本运行时,导入都能正常工作呢?你知道吗
在顶部文件夹中也添加
__init__.py
。你知道吗有关详细信息,请参见What is __init__.py for?。你知道吗
相关问题 更多 >
编程相关推荐