1

这是我收到的错误消息:

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 和 Python 安装了 pyq。

4

2 回答 2

1

我想我有一个解决方案:当您使用 pyq 二进制文件运行 python 脚本时,将能够运行 [import pyq]。就像您运行常规 python 脚本python xxx.py 一样,您需要将其作为pyq xxx.py运行

于 2017-04-28T08:20:56.310 回答
1

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

  1. p)在 q 命令提示符或在 aq 脚本中,以前缀开头的行,然后是 python 语句。例如,

    p)from pyq import q
    p)print(q.til(5))
    

将打印0 1 2 3 4

  1. 您可以将您的 python 代码放在一个带有.p扩展名的文件中,并像使用 aq 脚本一样使用它:从命令行执行

    $ q foo.p
    

\l或使用命令加载。

  1. 最后,pyq可执行文件提供了一种方便的方式来以交互方式运行标准 Python REPL 或执行 python 程序。在内部,pyq执行q python.q,因此您的代码仍然在 kdb+ 实例中运行。请注意,当您运行时pyq,Python REPL 会接管,您无法使用标准 kdb+ IPC 机制与您的 kdb+ 实例进行交互。如果您需要此类通信,请使用上述两个选项之一。
于 2017-04-28T19:25:21.250 回答