Python 3.x 运行sys.path上的Python脚本
我已经编写了一个Python(3.6)包,它将被安装到用户的PYTHONPATH/sys.path中(我可能会编写一个Python 3.x 运行sys.path上的Python脚本,python-3.x,command-line,module,pythonpath,sys.path,Python 3.x,Command Line,Module,Pythonpath,Sys.path,我已经编写了一个Python(3.6)包,它将被安装到用户的PYTHONPATH/sys.path中(我可能会编写一个setup.py来实现这一点,但目前我正在手动将模块复制到可见的地方)。该模块包含一组脚本,这些脚本将通过运行以下命令行来执行: python mypackage/scripts/myscript.py-someargs 1 2 3 有没有办法执行sys.path/PYTHONPATH上的脚本?我希望避免用户手动向python路径添加或cd。我还希望避免将脚本复制到/bin目录
setup.py
来实现这一点,但目前我正在手动将模块复制到可见的地方)。该模块包含一组脚本,这些脚本将通过运行以下命令行来执行:
python mypackage/scripts/myscript.py-someargs 1 2 3
有没有办法执行sys.path/PYTHONPATH上的脚本?我希望避免用户手动向python路径添加或cd
。我还希望避免将脚本复制到/bin
目录
我见过的一种方法是使用python-m
并将脚本作为模块执行,例如:
python-m mypackage.scripts.myscript-someargs 1 2 3
这样做对吗?我知道模块和脚本之间没有本质的区别,但是使用-m
选项运行这样的文件有什么缺点吗