【发布时间】: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