Unix命令行程序中的Python模块

时间:2014-08-14 14:53:35

标签: python unix module

我写了一个python脚本,它充当Unix命令行参数(如果它保存在工作目录中)。

如果我下载了要在此脚本中使用的外部模块,那么同一网络上的某个人(他们的计算机上没有安装此模块的人)是否仍然可以从他们的计算机上运行该脚本?如果没有,我该如何解决这个问题?

提前致谢...如果有任何我可以澄清的问题,请告诉我。

1 个答案:

答案 0 :(得分:1)

如果脚本中有import个第三方模块,那么运行它的任何人都需要有可用的模块。

Python解决方案是将您的脚本放入包含a setup.py that specifies scriptsrequires依赖项的包中。当有人使用python setup.py install或程序包管理器安装程序包时,它会将脚本放入路径上的目录中,使其可执行并调整本地环境的shebang行。

E.g:

from setuptools import setup
setup(
    name='name',
    version='1.0.0',
    scripts=['myscript_filename'],
    install_requires=['other_module'],
)

请注意,现在推荐使用entry_points的其他系统scripts而不是{{1}},但需要采用不同的格式 - 请参阅docs.