繁体   English   中英

使用命令行参数创建python模块

[英]Creating python module with command line arguments

我已经将一个python模块上传到pypi并在本地安装了模块:

pip install microarray_quantilenorm

我正在尝试使用传递参数在命令行上运行该模块。

当我直接从site-packages调用python脚本时,一切正常。

python /site-packages/microarray_quantilenorm/microarray_quantilenorm.py *csv

但是打电话:

python -m microarray_quantilenorm.__main__ *csv

要么:

python -m microarray_quantilenorm *csv

结果是:

/anaconda/bin/python: No module named microarray_quantilenorm.__main__

我无法追踪setup.py,my __init__.py或其他地方是否存在问题。 谢谢。

__main__.py是,当程序包作为模块运行时,它是运行的文件。 换句话说,只需要做python -m microarray_quantilenorm ,而不是python -m microarray_quantilenorm.__main__

但是,通常情况下,还有更好的解决方案。 假设您正在使用setuptools而不是尝试手动完成整个混乱,请使用console_scripts入口点 这将使安装过程自动创建一个名为microarray_quantilenorm的脚本,并将其安装在binscripts目录中,该目录可以正确加载包并运行其主代码(或者,如果您愿意,还可以运行其中的其他代码)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM