【发布时间】:2015-04-14 13:57:55
【问题描述】:
在 shell 脚本中,我正在检查是否安装了此软件包,如果未安装则安装它。所以使用 shell 脚本:
import nltk
echo nltk.__version__
但它会在 import 行停止 shell 脚本
在linux终端尝试用这种方式查看:
which nltk
这并没有让人觉得它已经安装了。
有没有其他方法可以在shell脚本中验证这个包安装,如果没有安装,也安装它。
【问题讨论】:
-
为什么要在 shell 脚本中执行此操作?为什么不在 Python 文件中做呢?
-
@Ffisegydd:我有一个通用规则,在 shellscript 我检查所有需要的包,如果任何包不存在,则安装它,否则跳到下一个检查。由于我需要检查和执行一些其他 python 以及 shellscript,我正在使用它。使用
shellscript是个坏主意吗? -
使用 Python 脚本 (imo) 测试这些存在会容易得多。如果你真的想的话,你总是可以从 shell 脚本中调用 Python 脚本。如果你只是使用 shell 语法,那么你将不得不找出每个包的位置,找到包,然后以某种方式解析它的文件名以获取版本号。
-
@Ffisegydd:谢谢,但在这种情况下,我必须编写 python 脚本来验证我想要检查的每个包并执行该脚本来验证它。据我了解。
-
或者你只是把它们都放在一个脚本里?
标签: python linux shell scikit-learn nltk