Сбой при импорте факела, когда lazyimported cv2 первым

#opencv #torch #tensorlayer

#opencv #факел #тензорный слой

Вопрос:

Я использую самокомпилирующийся python 3.6.3 (ссылка) на Ubuntu 14.04. Мой факел 1.0.1.post2 — тензорный слой 1.10.1 . Чтобы воспроизвести мою проблему, попробуйте с

 from tensorlayer.lazy_imports import LazyImport
cv2 = LazyImport("cv2")
import torch
  

Сбой с,

 Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.6/site-packages/torch/__init__.py", line 84, in <module>
    from torch._C import *
ImportError: dlopen: cannot load any more object with static TLS
  

Мой факел установлен с pip install torch torchvision помощью . Также перед компиляцией Python я сделал apt-get install tk8.6-dev , чтобы настроить python tkinter . Причина, по которой я самостоятельно компилирую Python, заключается в том, что отправленный apt-get install Python каким-то образом несовместим с tkinter, даже при установленных пакетах он также выдает ошибки при импорте.

Я не хочу менять порядок импорта, он, безусловно, работает. Я надеюсь выяснить реальную причину этого. Заранее большое спасибо!

Комментарии:

1. Есть несколько старых сообщений, где они меняют порядок или снова импортируют cv2 после tensorflow. Вы пробовали это?

2. @GarvitaTiwari уверен, это не сработает. Я обновил py3.6.3 до py3.6.4, и ошибка исчезла.