首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法在Python3.6中导入PyQ :平面命名空间错误

无法在Python3.6中导入PyQ :平面命名空间错误
EN

Stack Overflow用户
提问于 2017-04-27 22:11:12
回答 2查看 858关注 0票数 1

这是我收到的错误消息:

代码语言:javascript
运行
复制
Python 3.6.0 (v3.6.0:41df79263a11, Dec 22 2016, 17:23:13)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from pyq import q
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-
packages/pyq/__init__.py", line 21, in <module>  from . import _k
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-
packages/pyq/_k.cpython-36m-darwin.so, 2): Symbol not found: _b9  
Referenced from: 
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-
packages/pyq/_k.cpython-36m-darwin.so
Expected in: flat namespace
in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-
packages/pyq/_k.cpython-36m-darwin.so

我的python版本是3.6,pyq版本是4.0.1。

我通过pip安装pyq,通过常规操作系统安装Python。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-28 19:25:21

PyQ是嵌入在kdb+中的python解释器,并且pyq模块不能在独立的python中导入。有三种使用pyq的方法:

  1. 在q命令提示符或q脚本中,使用p)前缀开始行,然后使用python语句。例如, P)从pyq进口q)打印(q.til(5))

将打印0 1 2 3 4

  1. 您可以将您的python代码放在具有.p扩展名的文件中,并像使用q脚本那样使用它:从命令行执行 $Qfoo.p

或者使用\l命令加载。

  1. 最后,pyq可执行文件提供了一种方便的方式来运行标准的Python,既可以是交互式的,也可以是执行python程序。在内部,pyq执行q python.q,因此您的代码仍然在kdb+实例中运行。请注意,当您运行pyq时,Python将接管,您不能使用标准的kdb+ IPC机制与您的kdb+实例进行交互。如果您需要这样的通信,请使用上面描述的两个选项之一。
票数 1
EN

Stack Overflow用户

发布于 2017-04-28 08:20:56

我想我有一个解决方案:当您使用pyq二进制文件运行python脚本时,将能够运行导入pyq。正如您运行常规python脚本python xxx.py一样,您需要以pyq xxx.py的形式运行它。

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

https://stackoverflow.com/questions/43668738

复制
相关文章

相似问题

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