print int(time.time())
name = "scrapy.extensions.memusage"
__import__(name)
print int(time.time())
执行本段代码耗时30秒,请教可能是什么原因呢?
感谢大神的回答,原因确实是依赖导致的。
我的具体原因是:
hostname, aliases, ipaddrs = gethostbyaddr(name)
这个方法导致的, 跟获取服务器名有关,
解决办法是zai /etc/hosts中加入本机名 解决!
伊谢尔伦2017-04-17 17:56:40
我测试了 上面代码 和 import scrapy.extensions.memusage
都大概在 4s左右import scrapy.extensions.memusage
都大概在 4s左右
应该是scrapy.extensions.memusage的依赖过多导致速度的慢
和__import__应该无关
而且官方也不推荐用这个import module吧...
🎜和__import__应该无关🎜 🎜而且官方也不推荐用这个import module吧...🎜If you simply want to import a module (potentially within a package) by name, use
应该是scrapy.extensions.memusage的依赖过多导致速度的慢importlib.import_module()
🎜If you simply want to import a module (potentially within a package) by name, useimportlib.import_module()
.🎜🎜回复0
巴扎黑2017-04-17 17:56:40
前面两位应该算解答了LZ的问题,但我想要补充一点
__import__("scrapy.extensions.memusage")
__import__("scrapy")
这两行是完全等价的!如果你真的想引入scrapy.extensions.memusage
,那你应该这样写
__import__("scrapy.extensions.memusage", fromlist=[""])
然而并没有什么卵用,我的固态硬盘测试两个都是2s左右。