cari

Rumah  >  Soal Jawab  >  teks badan

scrapy - python __import__很慢的问题

print int(time.time())
name = "scrapy.extensions.memusage"
__import__(name)
print int(time.time())

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

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

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

大家讲道理大家讲道理2893 hari yang lalu431

membalas semua(3)saya akan balas

  • 伊谢尔伦

    伊谢尔伦2017-04-17 17:56:40

    Saya telah menguji kod di atas dan import scrapy.extensions.memusage kedua-duanya mengambil masa sekitar 4s

    Sepatutnya scrapy.extensions.memusage mempunyai terlalu banyak kebergantungan, menyebabkan kelajuan perlahan

    Ia sepatutnya tiada kaitan dengan __import__

    Dan pegawai tidak mengesyorkan menggunakan modul import ini...

    Jika anda hanya mahu mengimport modul (berpotensi dalam pakej) mengikut nama, gunakan importlib.import_module().

    balas
    0
  • 巴扎黑

    巴扎黑2017-04-17 17:56:40

    Dua orang pertama sepatutnya menjawab soalan LZ, tetapi saya ingin menambah sesuatu

    __import__("scrapy.extensions.memusage")
    __import__("scrapy")

    Dua baris ini adalah sepenuhnya bersamaan! Jika anda benar-benar ingin memperkenalkan scrapy.extensions.memusage, maka anda harus menulis

    seperti ini
    __import__("scrapy.extensions.memusage", fromlist=[""])

    Walau bagaimanapun, ia tidak berguna Kedua-dua ujian pemacu keadaan pepejal saya adalah kira-kira 2s.

    balas
    0
  • 黄舟

    黄舟2017-04-17 17:56:40

    scrapy.extensions.memusage mengimport banyak kebergantungan secara lalai, yang sudah tentu perlahan. Lihat bilangan sys.modules sebelum dan selepas mengimport modul ini

    balas
    0
  • Batalbalas