KxSystems / pyq

PyQ — Python for kdb+
http://code.kx.com/q/interfaces
Apache License 2.0
190 stars 49 forks source link

Importing PyQ in a sub thread #69

Closed jljs closed 6 years ago

jljs commented 6 years ago

Which operating system are you using (if Linux, please provide flavour of it, i.e RedHat, CentOS or Ubuntu), is it 32-bit, or 64-bit?

Red Hat Enterprise Linux Server release 6.9 (Santiago)

Which version of PyQ are you running? You can use pyq --versions or pip list | grep pyq.

PyQ 4.1.3 Which version of kdb+ are you using, is it 32-bit or 64-bit? KDB+ 3.4 (2016.10.10) l64 If on 64-bit, is your QLIC set? Please provide output env | grep QLIC on linux/macOS, or set|grep QLIC on Windows. QLIC=/opt/kx/3.4 Did you use virtual environment to install PyQ? If not, why?

Yes with Anaconda

Where is your QHOME? Please provide output env | grep QHOME on linux/macOS, or set|grep QHOME on Windows.

QHOME=/opt/kx/3.4 Do you use Conda? If so, what version?

Yes. conda 3.14.1

I would like to start PyQ in a sub thread, because I need to free up my main thread to do other tasks. But I got the following errors when I attempted to start PyQ in sub thread.

Traceback (most recent call last): File "/home/svc_tpmdb_dev/.conda/envs/py36an440/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2963, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "", line 1, in self.q('\l ' + self._conn) File "/home/svc_tpmdb_dev/.conda/envs/py36an440/lib/python3.6/site-packages/pyq/init.py", line 646, in call return K._k(0, m, *map(K, args)) _k.error: sys

abalkin commented 6 years ago

Based on my latest conversations with Kx developers, calling kdb+ C API functions from threads not created by kdb+ is not supported. It looks like you are lucky to get a K error rather than core dump.