未知的命令行标志' logtostderr'

时间:2014-05-09 09:36:19

标签: python sift gflags glog

我在此网站上运行此SIFT计划:https://github.com/sanchom/sjm

在我运行程序之前,所有的东西都很顺利:

$ python extract_caltech.py --dataset_path=[path_to_your_101_Categories_directory] \
--process_limit [num_processes_to_spawn] --sift_normalization_threshold 2.0 -- sift_discard_unnormalized \
--sift_grid_type FIXED_3X3 --sift_first_level_smoothing 0.66 --sift_fast --sift_multiscale \
--features_directory [path_for_extracted_features]

在输出中,我看到这行数千次:

ERROR: unknown command line flag 'logtostderr'

我已按照此处的建议检查了一些解决方案:

https://code.google.com/p/google-glog/issues/detail?id=17&q=glog%20gflagsBut

我所做的是在运行程序之前添加GLOG_logtostderr=1

GLOG_logtostderr=1 ./my_application

但它对我来说不起作用。

据我所知,它的问题与Gflags和Glog之间的链接有关。但我还没有任何关于如何解决它的想法。请帮忙。谢谢!

2 个答案:

答案 0 :(得分:1)

$GLOG_logtostderr=1并没有按照您的期望行事。 $name表示"将其替换为环境变量name"的值。但是你想要定义一个新变量。请改用:

GLOG_logtostderr=1 ./my_application

(即省略$)。

答案 1 :(得分:1)

我已经解决了我的问题。因为IIRC macports的glog不是用gflags构建的,而是python脚本设置了--logtostderr。所以只需通过运行脚本从python脚本中删除--logtostderr:

find . -name '*.py' -exec perl -i -p -e 's/--logtostderr//' {} \;

要了解您是否受到影响,请运行

ldd libglog.so

并检查输出中是否存在libgflags。

该网站建议采用解决方案:

https://code.google.com/p/google-glog/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summary&groupby=&sort=&id=206