How to run a module before install?
jfong at ms4.hinet.net
jfong at ms4.hinet.net
Mon Jan 14 04:18:23 EST 2019
Peter Otten於 2019年1月14日星期一 UTC+8下午4時04分33秒寫道:
> jfong at ms4.hinet.net wrote:
>
> > I had download a module which has the following directory structure:
> >
> > [XL-Sudoku-Solver_master]
> > |__[tests]
> > |__[xl_sudoku_solver]
> > |__setup.py |__ __init__.py
> > |__problem1.txt |__ __main__.py
> > |__README.md |__ ...
> > |__ ...
> >
> > The setup.py file has something like this:
> > ---------------------
> > ...
> > setup(
> > name="xl-sudoku-solver",
> > version="0.0.1.post3",
> > packages=['xl_sudoku_solver'],
> > entry_points={
> > "console_scripts": [
> > "xl-sudoku-solver = xl_sudoku_solver.__main__:main"
> > ]
> > },
> > ...
> > ----------------
> >
> > and the __main__.py has:
> > ----------------
> > ...
> > from . import Solver, load_from_file, load_from_input, load_from_string
> >
> > def main():
> > ...
> >
> > if __name__ == '__main__':
> > main()
> > ----------------
> >
> > The README.md suggest the way of running it:
> >
> > pip install xl-sudoku-solver
> > $ xl-sudoku-solver --time -f problem1.txt
> >
> > But I like to run it before install. Is it possible? and how? I had try
> > two ways below but niether works:
> >
> > 1) h:\Temp\XL-Sudoku-Solver-master>py xl_sudoku_solver --time -f
> > problem1.txt Traceback (most recent call last):
> > File "C:\Python34\lib\runpy.py", line 170, in _run_module_as_main
> > "__main__", mod_spec)
> > File "C:\Python34\lib\runpy.py", line 85, in _run_code
> > exec(code, run_globals)
> > File "xl_sudoku_solver\__main__.py", line 5, in <module>
> > from . import Solver, load_from_file, load_from_input,
> > load_from_string
> > SystemError: Parent module '' not loaded, cannot perform relative import
> >
> > 2) h:\Temp\XL-Sudoku-Solver-master>py
> > Python 3.4.4 (v3.4.4:737efcadf5a6, Dec 20 2015, 19:28:18) [MSC v.1600 32
> > bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for
> > more information.
> >>>> import xl_sudoku_solver
> >>>>
> >
> > Can't find the name "main", What to do?
>
> With h:\Temp\XL-Sudoku-Solver-master as the current working directory try
>
> h:\Temp\XL-Sudoku-Solver-master>py -m xl_sudoku_solver
Great! it works. Thank you, peter.
By the way, can you explain what these two command difference means? with or without a "-m". Or pointing where the document is. Thanks ahead:-)
More information about the Python-list
mailing list