scrapy - python __import__很慢的问题
大家讲道理
大家讲道理 2017-04-17 17:54:40
0
3
423
print int(time.time())
name = "scrapy.extensions.memusage"
__import__(name)
print int(time.time())

执行本段代码耗时30秒,请教可能是什么原因呢?

感谢大神的回答,原因确实是依赖导致的。

我的具体原因是:
hostname, aliases, ipaddrs = gethostbyaddr(name)
这个方法导致的, 跟获取服务器名有关,
解决办法是zai /etc/hosts中加入本机名 解决!

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全員に返信(3)
伊谢尔伦

上記のコードをテストしましたが、import scrapy.extensions.memusage どちらも約 4 秒かかります

scrapy.extensions.memusage に依存関係が多すぎるため、速度が遅くなっているはずです

__import__ とは何の関係もないはずです

そして公式はこのインポートモジュールの使用を推奨していません...

単にモジュール (パッケージ内の可能性がある) を名前でインポートしたい場合は、importlib.import_module().

を使用します。
いいねを押す +0
巴扎黑

最初の 2 人が LZ の質問に答えているはずですが、何か追加したいことがあります

リーリー

これらの 2 行は 完全に 同等です。本当に scrapy.extensions.memusage を紹介したい場合は、次のように

を書く必要があります リーリー

しかし、ソリッド ステート ドライブのテストは両方とも約 2 秒でした。

いいねを押す +0
黄舟

scrapy.extensions.memusage はデフォルトで多くの依存関係をインポートしますが、これは当然遅くなります。このモジュールをインポートする前後の sys.module の数を確認してください。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート