digitalmars.D.learn - Need some help understanding PyD
- Saurabh Das (31/31) Jan 08 2017 I've been giving PyD a try. It's really nice and mostly
- Saurabh Das (16/16) Jan 08 2017 PS: Noticed something off. My python installation is 3.4.3:
- xtreak (4/20) Jan 10 2017 I think you need to upgrade Python. I googled "_PyTraceback_Add"
I've been giving PyD a try. It's really nice and mostly
everything works out of the box.
I'm trying to use TensorFlow in D via Pytho, so I need to call
Python functions in D.
When I try to do:
auto context = new InterpContext();
context.py_stmts("import tensorflow");
I get this error:
pyd.exception.PythonException source/app.d(19):
ImportError:
/usr/lib/python3.4/lib-dynload/_ctypes.cpython-34m-x86_64-linux-gnu.so:
undefined symbol: _PyTraceback_Add
----------------
../../.dub/packages/pyd-0.9.8/pyd/infrastructure/pyd/exception.d:46 void
pyd.exception.handle_exception(immutable(char)[], ulong) [0x5917f6]
../../.dub/packages/pyd-0.9.8/pyd/infrastructure/pyd/embedded.d:147 void
pyd.embedded.InterpContext.py_stmts(immutable(char)[], immutable(char)[],
ulong) [0x59149a]
source/app.d:13 _Dmain [0x573cb2]
??:?
_D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv
[0x5abfae]
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int
function(char[][])*).tryExec(scope void delegate()) [0x5abf04]
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int
function(char[][])*).runAll() [0x5abf6a]
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int
function(char[][])*).tryExec(scope void delegate()) [0x5abf04]
??:? _d_run_main [0x5abe61]
??:? main [0x575e6f]
??:? __libc_start_main [0x3fffbec4]
Program exited with code 1
How can I debug what the problem is?
Thanks,
Saurabh
Jan 08 2017
PS: Noticed something off. My python installation is 3.4.3:
Python 3.4.3 (default, Sep 14 2016, 12:36:27)
[GCC 4.8.4] on linux
However when I run:
context.py_stmts("import sys");
context.py_stmts("print(sys.version)");
I get:
3.4.0 (default, Apr 11 2014, 13:08:40)
[GCC 4.8.2]
Also, when I import numpy from python3, it works, but if I do:
context.py_stmts("import numpy");
I get this error:
pyd.exception.PythonException source/app.d(20):
ImportError:
/usr/lib/python3.4/lib-dynload/_ctypes.cpython-34m-x86_64-linux-gnu.so:
undefined symbol: _PyTraceback_Add
----------------
Jan 08 2017
On Monday, 9 January 2017 at 06:22:14 UTC, Saurabh Das wrote:
PS: Noticed something off. My python installation is 3.4.3:
Python 3.4.3 (default, Sep 14 2016, 12:36:27)
[GCC 4.8.4] on linux
However when I run:
context.py_stmts("import sys");
context.py_stmts("print(sys.version)");
I get:
3.4.0 (default, Apr 11 2014, 13:08:40)
[GCC 4.8.2]
Also, when I import numpy from python3, it works, but if I do:
context.py_stmts("import numpy");
I get this error:
pyd.exception.PythonException source/app.d(20):
ImportError:
/usr/lib/python3.4/lib-dynload/_ctypes.cpython-34m-x86_64-linux-gnu.so:
undefined symbol: _PyTraceback_Add
----------------
I think you need to upgrade Python. I googled "_PyTraceback_Add"
and got this
http://stackoverflow.com/questions/33223713/python-ctypes-import
error-in-virtualenv . Also refer to this comment
http://stackoverflow.com/questions/33223713/python-ctypes-import-error-in-virtualenv#comm
nt54266298_33223713 . Hope this helps.
Jan 10 2017








xtreak <tir.karthi gmail.com>