Python脚本卡在导入中

时间:2019-03-30 09:47:33

标签: python-3.x performance python-import

我有几个使用crontab每分钟运行的python脚本。 使用pip3安装python-binance之后,仅有时(对我来说似乎是随机的)我所有使用密码库的脚本都卡在了导入中。

从下面的日志中可以看到,应该每分钟运行一次并持续不到一秒钟的时间,有时需要十多分钟。

2019-03-30 08:51:07 INFO     (done)
2019-03-30 08:52:07 INFO     (done)
2019-03-30 08:53:07 INFO     (done)
2019-03-30 09:04:45 INFO     (done)
2019-03-30 09:05:45 INFO     (done)
2019-03-30 09:06:45 INFO     (done)

尝试调试问题,我使用python -vv循环运行脚本。

在缓慢的迭代过程中,python解释器在这里停留了几分钟

# trying /home/user/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/kdf/scrypt.cpython-36m-x86_64-linux-gnu.so
# trying /home/user/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/kdf/scrypt.abi3.so
# trying /home/user/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/kdf/scrypt.so
# trying /home/user/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/kdf/scrypt.py
# /home/user/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/scrypt.cpython-36.pyc matches /home/user/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/kdf/scrypt.py
# code object from '/home/user/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/scrypt.cpython-36.pyc'
import 'cryptography.hazmat.primitives.kdf.scrypt' # <_frozen_importlib_external.SourceFileLoader object at 0x7f5aff05d6a0>

其他信息:

  • 操作系统:Ubuntu 18.04
  • Python版本:python3 3.6.7-1〜18.04
  • Python绑定版本:python-binance == 0.7.1

  • 这不是资源问题,当解释器卡住时,CPU使用率不到20%,有足够的可用RAM,没有磁盘瓶颈

  • 此问题发生在具有相同配置的不同服务器上
  • 我尝试使用venv运行脚本,结果相同

更新: 在python discord频道上提出建议后,我又尝试了另一件事,不幸的是这没有帮助

  • 将ulimit -n从1024增加到4096

我们非常感谢您的帮助

1 个答案:

答案 0 :(得分:0)

因此,经过长期的故障排除,在一些朋友的支持下,我发现了问题与车轮有关。

我已使用以下命令将模块安装在venv中:

AttributeError: 'function' object has no attribute 'isFunny'

-no-binary:all:正在使pip从源代码编译依赖项,而不是使用任何可能可用的预编译的滚轮。

希望有人会发现此解决方案很有帮助。