首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将pycurl导入到crossbar.io错误

将pycurl导入到crossbar.io错误
EN

Stack Overflow用户
提问于 2016-04-09 19:49:49
回答 1查看 129关注 0票数 0

好的,所以我想使用crossbar.io并在python中构建一个应用程序。

我可以让演示工作,但我的应用程序将需要派生出线程,使用pycurl听长寿的http连接。

另外,crossbar.io代码和pycurl代码可以工作,但是,当我执行以下操作时,就会得到“导入未找到”:

代码语言:javascript
复制
import sys
from twisted.internet.defer import inlineCallbacks
from twisted.logger import Logger

from autobahn.twisted.util import sleep
from autobahn.twisted.wamp import ApplicationSession
from autobahn.wamp.exception import ApplicationError

from legacy_misc import Legacy_Listener

client = Legacy_Listener("box01")
client.daemon = True
client.start()

class AppSession(ApplicationSession):

log = Logger()
@inlineCallbacks
def onJoin(self, details):

    # SUBSCRIBE to a topic and receive events
    #
    def onhello(msg):
        self.log.info("event for 'onhello' received: {msg}", msg=msg)

    yield self.subscribe(onhello, 'com.example.onhello')
    self.log.info("subscribed to topic 'onhello'")

    # REGISTER a procedure for remote calling
    #
    def add2(x, y):
        self.log.info("add2() called with {x} and {y}", x=x, y=y)
        return x + y

    yield self.register(add2, 'com.example.add2')
    self.log.info("procedure add2() registered")

    # PUBLISH and CALL every second .. forever
    #
    counter = 0
    while True:

        # PUBLISH an event
        #
        yield self.publish('com.example.oncounter', counter)
        self.log.info("published to 'oncounter' with counter {counter}",
                        counter=counter)
        counter += 1

        if counter > 5:
            break

        # CALL a remote procedure
        #
        try:
            res = yield self.call('com.example.mul2', counter, 3)
            self.log.info("mult() called with result: {result}",
                            result=res)
        except ApplicationError as e:
            # ignore errors due to the frontend not yet having
            # registered the procedure we would like to call
            if e.error != 'wamp.error.no_such_procedure':
                raise e

        yield sleep(1)

legacy_Listener包含带有"import“的线程代码(这个模块本身工作得很好)

现在,一旦我将crossbar.io示例代码与自己的代码混合,就会得到以下错误:

代码语言:javascript
复制
2016-04-09T20:42:09+0100 [Container   26333] Worker process starting (PyPy-EPollReactor) ..

2016-04-09T20:42:13+0100控制器26219容器( ID为‘"/opt/crossbar/site-packages/autobahn/wamp/websocket.py",’)和PID 26333启动启动2016-04-09T20:42:13+0100容器组件加载失败的跟踪(最近一次调用):文件onMessage self._session.onMessage(msg)文件"/opt/crossbar/site-packages/autobahn/wamp/protocol.py",行809,onMessage on_reply = txaio.as_future(endpoint.fn,*invoke_args,文件“/opt/交栏/站点-packages/txaio/tx.py”,第339行,在"/opt/crossbar/site-packages/crossbar/worker/container.py",as_future maybeDeferred (as_future return,*args,**kwargs)文件第150行中,maybeDeferred结果= f(*args,**kw)在"/opt/crossbar/site-packages/crossbar/worker/init.py",create_component = _appsession_loader (配置)文件的第74行中,在_appsession_loader pythonpath=sys.path autobahn.wamp.exception.ApplicationError: ApplicationError中(error=,args=‘未能导入类\’hello.AppSession\‘nTraceback(最近一次调用):\n文件"/opt/crossbar/site-packages/autobahn/wamp/protocol.py",行809,在onMessage\n on_reply = txaio.as_future(endpoint.fn,*invoke_args,**invoke_kwargs)\n File“/opt/交栏/site-packages/txaio/tx.py”中,第339行,在as_future\n返回maybeDeferred(*invoke_args,*args,**kwargs)\n File **invoke_kwargs行150中,以maybeDeferred结果= f(*args,**kw)\n文件"/opt/crossbar/site-packages/crossbar/worker/container.py",第192行,在start_container_component\n create_component =_appsession_loader(Config)\n在"/opt/crossbar/lib-python/2.7/importlib/init.py",模块= importlib.import_module(module_name)\n文件_appsession_loader\n第37行中,在import_module\n import(name)\n File "/home/osboxes/qbtwebmon/hello.py“中,第36行,in \n from legacy_misc import Legacy_Listener\nexceptions.ImportError: No模块名为legacy_misc\n,kwargs={'pythonpath':u'/home/osboxes/qbtwebmon','/opt/crossbar/site-packages/crossbar/worker','/opt/crossbar/bin','/opt/crossbar/lib_pypy/extensions','/opt/crossbar/lib_pypy','/opt/crossbar/lib-python/2.7',‘/opt/#en1#/lib-python/2.7/lib-tk’,‘/opt/#en1#/lib-python/2.7/plat-linux2 2’,‘/opt/交栏/站点-包’,'/home/osboxes/qbtwebmon/wamp_venv/lib/python2.7/site-packages'},enc_algo=None)

2016-04-09 T20:42:13+0100容器26333 Python模块搜索路径:2016-04-09 T20:42:13+0100容器26333 /home/osboxes/qbtwebmon 2016-04-09T20:42:13+0100容器26333 /opt/交栏/站点-包/横栏/工人2016-09T20:42:13+0100容器26333 /opt/交栏/bin 2016-04-09T20:42:13+0100容器26333 /opt/crossbar/lib_pypy/extensions 2016-04-09T20:42: 42:13+0100 26333 /opt/纵横/lib_pypy 2016-04-09T20:42:13+0100容器26333 /opt/纵横/lib-python/2.7 2016-04-09T20:42:13+0100容器26333 /opt/纵横/lib-python/2.7/lib-04-09T20:42:13+0100集装箱26333 /opt/纵横/lib-python/2.7/Linux2 2016-04-09T20:42:13+0100集装箱26333 /opt/纵横/home/osboxes/qbtwebmon/wamp_venv/lib/python2.7/site-packages 2016-04-09T20:42:13+0100容器26333 -packages 2016-04-09T20:42:13+0100容器26333 NativeWorkerSession.onUserError 2016-04-09T20:42:13+0100控制器26219 crossbar.error.class_import_failed:未能导入类'hello.AppSession‘回溯(最近一次调用):文件"/opt/crossbar/site-packages/autobahn/wamp/protocol.py",第809行,在onMessage on_reply = txaio.as_future(endpoint.fn,*invoke_args,**invoke_kwargs) File "/opt/crossbar/site-packages/txaio/tx.py“中,第339行,在as_future返回maybeDeferred (endpoint.fn,*args,**kwargs)文件中,文件*invoke_args第150行,maybeDeferred result = f(*args,**kw)文件"/opt/crossbar/site-packages/crossbar/worker/container.py",第192行,在start_container_component create_component = _appsession_loader(config)中第37行,在import(name)文件“/ import_module /osboxes/qbtwebmon/hello.py”中,第36行,从legacy_misc导入Legacy_Listener exceptions.ImportError:没有名为legacy_misc的模块

2016-04-09 T20:42:13+0100控制器26219发送项到子处理26272 2016-04-09 T20:42:13+0100控制器26219等待26272出口.

在googling搜索了几个小时之后,我意识到pycurl在pypy中不起作用,这正是crossbar.io正在运行的,但我想知道是否有一种方法可以说“使用pypy”来运行横栏,以及“使用cpython”来运行项目?

最后,这不是路径问题,我已经附加了它并对其进行了测试。

EN

回答 1

Stack Overflow用户

发布于 2016-04-09 20:57:36

好的,修复,基本上我使用了"yum横栏“方法来安装,这是用pypy编写的。如果您通过pip安装,它会给您提供CPython版本,这也比pypy版本IMHO更快。

注意:是一个痛苦的问题,您可以修复一个编译问题,然后再解决另一个编译问题,只需执行标准的pip安装横栏即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36521881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档