【问题标题】:Import issue with Theano: AttributeError: 'module' object has no attribute 'poll'Theano 的导入问题:AttributeError: 'module' object has no attribute 'poll'
【发布时间】:2016-08-05 05:57:58
【问题描述】:

我已经切换到一台新机器并尝试使用我的代码(在前一个机器上工作的代码)。 我正在使用具有以下版本的 python/django/Theano/Keras(当然与以前的机器对齐......):

  • Django==1.9.6
  • django-cors-headers==1.1.0
  • django-user-agents==0.3.0
  • Keras==1.0.3
  • python-apt===0.9.3.5ubuntu2
  • python-dateutil==2.5.3
  • python-debian===0.1.21-nmu2ubuntu2
  • scipy==0.17.1
  • Theano==0.8.2

在其中一个导入中,我收到以下错误: (请注意,在其他情况下,我得到了缺少 gof 的错误......但这可能是一个不同的问题)

  • 最后导入失败行:

    AttributeError: 'module' object has no attribute 'poll'
    

有什么想法吗? 谢谢!

  • 短版:

File "/home/django/django_project/textlab/mainClasses/UploadNewSetCluster2TLChosen.py", line 10, in <module> from keras.models import model_from_json File "/usr/local/lib/python2.7/dist-packages/keras/__init__.py", line 2, in <module> from . import backend File "/usr/local/lib/python2.7/dist-packages/keras/backend/__init__.py", line 51, in <module> from .theano_backend import * File "/usr/local/lib/python2.7/dist-packages/keras/backend/theano_backend.py", line 1, in <module> import theano File "/usr/local/lib/python2.7/dist-packages/theano/__init__.py", line 42, in <module> from theano.configdefaults import config File "/usr/local/lib/python2.7/dist-packages/theano/configdefaults.py", line 1452, in <module> p_out = output_subprocess_Popen([config.cxx, '-dumpversion']) File "/usr/local/lib/python2.7/dist-packages/theano/misc/windows.py", line 78, in output_subprocess_Popen out = p.communicate() File "/usr/lib/python2.7/subprocess.py", line 799, in communicate return self._communicate(input) File "/usr/lib/python2.7/subprocess.py", line 1401, in _communicate stdout, stderr = self._communicate_with_poll(input) File "/usr/lib/python2.7/subprocess.py", line 1431, in _communicate_with_poll poller = select.poll() AttributeError: 'module' object has no attribute 'poll'

  • 完整版 [05/Aug/2016 08:22:50] ERROR [/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py:284] Internal Server Error: /dashboardeventreport Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 123, in get_response response = middleware_method(request) File "/usr/local/lib/python2.7/dist-packages/django/middleware/common.py", line 61, in process_request if self.should_redirect_with_slash(request): File "/usr/local/lib/python2.7/dist-packages/django/middleware/common.py", line 79, in should_redirect_with_slash not urlresolvers.is_valid_path(request.path_info, urlconf) File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py", line 668, in is_valid_path resolve(path, urlconf) File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py", line 534, in resolve return get_resolver(urlconf).resolve(path) File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py", line 374, in resolve for pattern in self.url_patterns: File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 33, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py", line 417, in url_patterns patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module) File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 33, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py", line 410, in urlconf_module return import_module(self.urlconf_name) File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module __import__(name) File "/home/django/django_project/django_project/urls.py", line 17, in <module> from textlab import views File "/home/django/django_project/textlab/views.py", line 43, in <module> from mainClasses import UploadNewSetCluster2TLChosen File "/home/django/django_project/textlab/mainClasses/UploadNewSetCluster2TLChosen.py", line 10, in <module> from keras.models import model_from_json File "/usr/local/lib/python2.7/dist-packages/keras/__init__.py", line 2, in <module> from . import backend File "/usr/local/lib/python2.7/dist-packages/keras/backend/__init__.py", line 51, in <module> from .theano_backend import * File "/usr/local/lib/python2.7/dist-packages/keras/backend/theano_backend.py", line 1, in <module> import theano File "/usr/local/lib/python2.7/dist-packages/theano/__init__.py", line 42, in <module> from theano.configdefaults import config File "/usr/local/lib/python2.7/dist-packages/theano/configdefaults.py", line 1452, in <module> p_out = output_subprocess_Popen([config.cxx, '-dumpversion']) File "/usr/local/lib/python2.7/dist-packages/theano/misc/windows.py", line 78, in output_subprocess_Popen out = p.communicate() File "/usr/lib/python2.7/subprocess.py", line 799, in communicate return self._communicate(input) File "/usr/lib/python2.7/subprocess.py", line 1401, in _communicate stdout, stderr = self._communicate_with_poll(input) File "/usr/lib/python2.7/subprocess.py", line 1431, in _communicate_with_poll poller = select.poll() AttributeError: 'module' object has no attribute 'poll'

【问题讨论】:

  • 来自docs,在询问之前您应该始终检查:“select.poll():(并非所有操作系统都支持。)”您的新机器与旧机器是否在不同的操作系统上?
  • 一模一样:Ubuntu 14.04.4 LTS
  • 确保您没有命名任何会隐藏内置模块的名称,例如select.py 或其他名称,并尝试使用import select 并检查select.__file__hasattr(select, 'poll')
  • 已检查...找不到类似的东西。而且如果是因为命名冲突,我不明白为什么它只发生在新机器上

标签: python django import theano keras


【解决方案1】:

解决了! 问题是gunicorn版本。 gunicorn 没有使用 pip freeze 列出 - 因此如果版本对齐,我没有列出。 无论如何-这条线解决了这个问题:

sudo pip install gunicorn==19.4.5

请注意,您可能会在 .theano 文件夹的权限方面遇到一些问题。 在这种情况下,只需使用:

sudo chown django:django <your django folder>

谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-26
    • 2014-12-20
    • 1970-01-01
    • 2022-12-01
    • 2012-02-29
    • 2022-12-01
    • 2013-07-26
    • 1970-01-01
    相关资源
    最近更新 更多