我写了一个python脚本,它充当Unix命令行参数(如果它保存在工作目录中)。
如果我下载了要在此脚本中使用的外部模块,那么同一网络上的某个人(他们的计算机上没有安装此模块的人)是否仍然可以从他们的计算机上运行该脚本?如果没有,我该如何解决这个问题?
提前致谢...如果有任何我可以澄清的问题,请告诉我。
答案 0 :(得分:1)
如果脚本中有import
个第三方模块,那么运行它的任何人都需要有可用的模块。
Python解决方案是将您的脚本放入包含a setup.py
that specifies scripts
和requires
依赖项的包中。当有人使用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.