我想将Google Calendar API用于我的Google App Engine webapp.我按照此处的说明(https://developers.google.com/google-apps/calendar/instantiate)配置了应用,这需要我导入gflags.我在这里下载了gflags(https://code.google.com/p/python-gflags/downloads/list)并将其解压缩到与我的webapp的main.py相同的目录中.然后我通过在命令行中运行"Python setup.py install"来设置gflags.设置成功,显示以下内容:
已安装c:\ python27\lib\site-packages\python_gflags-2.0-py2.7.egg
处理python-gflags == 2.0的依赖关系
完成了对python-gflags == 2的处理依赖性.
但是这条线仍然不起作用:
import gflags
Run Code Online (Sandbox Code Playgroud)
我在日志中收到以下错误:
NotImplementedError:必须安装gflags库才能使用tools.run().请安装gflags或者最好切换到使用tools.run_flow()
但我以为我已经安装了gflags?我也很困惑为什么setup.py在我的c:\ python27\lib文件夹中创建了一个Python egg,这是否意味着Google App Engine将无法访问它?
在Windows Vista中,我发现UMDH非常有用,但我找不到适用于Windows 7/8的版本,微软是否弃用了GFlags和UMDH?如果是这样,我可以通过Windows 7/8批准的工具中的调用堆栈获取堆上的分配日志?
我使用这样的 gflags:
flags.DEFINE_string('logdir', None,
'Directory where logs are stored.')
Run Code Online (Sandbox Code Playgroud)
但是,当有人没有定义--logdir
. 我怎样才能使这个标志成为必需的?
(这看起来好像应该是可能的,但我找不到任何关于如何在 Python 中使用 gflags 的文档。)
我正在尝试按照本教程安装caffe
基本上我输入最后一个make命令时出现以下错误:
me@dl-01:/home/me/caffe-master$ make runtest
.build_release/tools/caffe
caffe: command line brew
usage: caffe command args
commands:
train train or finetune a model
test score a model
device_query show GPU diagnostic information
time benchmark model execution time
Flags from tools/caffe.cpp:
-gpu (Run in GPU mode on given device ID.) type: int32 default: -1
-iterations (The number of iterations to run.) type: int32 default: 50
-model (The model definition protocol buffer text file..) type: string
default: ""
-snapshot (Optional; the snapshot …
Run Code Online (Sandbox Code Playgroud) 我在安装gflags时遇到问题.如果我使用apt-get(https://github.com/gflags/gflags/blob/master/INSTALL.md),我会收到以下错误
sudo apt-get install gflags
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package gflags
Run Code Online (Sandbox Code Playgroud)
我该如何安装gflags?
几天来,我一直在努力解决堆腐败问题.我第一次被vs 2005调试器警告我可能已经损坏了堆,删除了我以前新建的对象.对这个问题进行研究后,我得到了gflags和页面堆设置.为我的特定图像启用此设置后,它应该指向我实际导致损坏的行.
Gflags将相关对象的构造函数识别为罪魁祸首.该对象派生如下:
class POPUPS_EXPORT MLUNumber : public MLUBase
{
...
}
class POPUPS_EXPORT MLUBase : public BusinessLogicUnit
{
...
}
Run Code Online (Sandbox Code Playgroud)
我可以在一个单独的线程中实例化一个MLUNumber,并且不会发生堆损坏.
我可以实例化一个不同的类,它也继承自MLUBase,不会导致堆损坏.
由于在构造函数的左括号上发生损坏而导致访问冲突,这似乎是由于对象的隐式初始化(?).
基类构造函数(MLUBase)成功完成.
从vs 2005中的内存窗口挖掘,似乎没有为实际对象分配足够的空间.我的猜测是,只为基类分配了足够的内容.
导致故障的线路:
BusinessLogicUnit* biz = new MLUNumber();
Run Code Online (Sandbox Code Playgroud)
我希望有任何可能导致这种情况的原因,或者其他故障排除步骤.
我在 C++ 应用程序中使用gFlags来收集命令行标志:
DEFINE_string("output_dir", ".", "existing directory to dump output");
int main(int argc, char** argv) {
gflags::ParseCommandLineFlags(argc, argv, true);
...
}
Run Code Online (Sandbox Code Playgroud)
该标志有一个默认值,因此用户可以选择不在命令行上提供相同的值。gFlags 中是否有任何 API 可以知道命令行中是否提供了该标志?我没有找到任何内容,因此使用以下 hack:
DEFINE_string("output_dir", ".", "existing directory to dump output");
static bool flag_set = false;
static void CheckFlags(const int argc, char** const argv) {
for (int i = 0; i < argc; i++) {
if (string(argv[i]).find("output_dir") != string::npos) {
flag_set = true;
break;
}
}
}
int main(int argc, char** argv) {
CheckFlags(argc, argv);
gflags::ParseCommandLineFlags(argc, …
Run Code Online (Sandbox Code Playgroud) 我在这个例子中如何滥用gflags?在命令行上设置标志不会覆盖默认值,但是当我根据需要设置标志并且不使用默认值(注释代码)时,它被设置(to False
)就好了.
import gflags
from gflags import FLAGS
#gflags.DEFINE_bool('use_cache', None, '')
#gflags.MarkFlagAsRequired('use_cache')
gflags.DEFINE_bool('use_cache', True, '')
if __name__ == '__main__':
if FLAGS.use_cache == True:
print 'use_cache == True'
else:
print 'use_cache == False'
Run Code Online (Sandbox Code Playgroud)
.
~ python testflags.py --use_cache=False
use_cache == True
~ python testflags.py --help
use_cache == True
Run Code Online (Sandbox Code Playgroud)