Hi all, Is TkInter pypy still a thing ? I was trying some demos from aubio from pypy but they didn't work [1].My first thought was to try and install tkinter-pypy but that doens't seem to exist any more. I'm testing with pypy-nightly trunk on Ubuntu 17.04 64 bit. [1]$ python demo_keyboard.py Traceback (most recent call last): File "demo_keyboard.py", line 60, in <module> import matplotlib.pyplot as plt File "/home/stu/.virtualenvs/pypy-nightly-trunk/site-packages/matplotlib/pyplot.py", line 115, in <module> _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup() File "/home/stu/.virtualenvs/pypy-nightly-trunk/site-packages/matplotlib/backends/__init__.py", line 32, in pylab_setup globals(),locals(),[backend_name],0) File "/home/stu/.virtualenvs/pypy-nightly-trunk/site-packages/matplotlib/backends/backend_tkagg.py", line 13, in <module> import matplotlib.backends.tkagg as tkagg File "/home/stu/.virtualenvs/pypy-nightly-trunk/site-packages/matplotlib/backends/tkagg.py", line 9, in <module> from matplotlib.backends import _tkagg RuntimeError: Cannot dlopen tkinter module file S++
Hi Stuart,
On 13 September 2017 at 13:53, Stuart Axon via pypy-dev
Is TkInter pypy still a thing ?
Yes, ``import Tkinter`` works as expected for me. Maybe it doesn't work *in matplotlib,* which I'm not sure how to test. Others may know more about this. A bientôt, Armin.
On Fri, 15 Sep 2017 at 7:51 pm, Armin Rigo
Hi Stuart,
On 13 September 2017 at 13:53, Stuart Axon via pypy-dev
wrote: Is TkInter pypy still a thing ?
Yes, ``import Tkinter`` works as expected for me. Maybe it doesn't work *in matplotlib,* which I'm not sure how to test. Others may know more about this.
A bientôt,
Armin.
None of the GUI backends currently work out of the box with PyPy, see for intance this stack overflow question https://stackoverflow.com/questions/43278632/pypy-and-matplotlib-error-in-vi... Someone did make progress with matplotlib and wx-cffi https://pythonfiles.wordpress.com/2017/06/28/making-matplotlib-work-with-pyp... The none-gui backends should work, ie ipython inline or Jupyter notebooks. Matti
Cheers for the suggestons on TKinter and matplotlib -
mplcairo is out, since it uses pycairo (as opposed to cairocffi).
Wx-CFFI looks interesting, however all the matplotlib tutorials give me errors like the one below, so that is probably out as well for now - I'll definitely keep an eye on it and see it starts working though.
$ python pyplot.py
/home/stu/.virtualenvs/pypy-nightly-trunk/site-packages/wx/core.py:17: UserWarning: wxPython/wxWidgets release number mismatch
warnings.warn("wxPython/wxWidgets release number mismatch")
/home/stu/.virtualenvs/pypy-nightly-trunk/site-packages/wx/_core.py:31546: UserWarning: implicit cast from 'unsigned char *' to 'char *' will be forbidden in the future (check that the types are as you expect; use an explicit ffi.cast() if they are correct)
clib.Cursor_set_flags(wrapper_lib.get_ptr(self), flags)
Traceback (most recent call last):
File "pyplot.py", line 38, in <module>
import matplotlib.pyplot as plt
File "/home/stu/.virtualenvs/pypy-nightly-trunk/site-packages/matplotlib-2.1.0rc1+110.g963f91300.dirty-py2.7-linux-x86_64.egg/matplotlib/pyplot.py", line 113, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "/home/stu/.virtualenvs/pypy-nightly-trunk/site-packages/matplotlib-2.1.0rc1+110.g963f91300.dirty-py2.7-linux-x86_64.egg/matplotlib/backends/__init__.py", line 60, in pylab_setup
[backend_name], 0)
File "/home/stu/.virtualenvs/pypy-nightly-trunk/site-packages/matplotlib-2.1.0rc1+110.g963f91300.dirty-py2.7-linux-x86_64.egg/matplotlib/backends/backend_wxagg.py", line 12, in <module>
from . import backend_wx
File "/home/stu/.virtualenvs/pypy-nightly-trunk/site-packages/matplotlib-2.1.0rc1+110.g963f91300.dirty-py2.7-linux-x86_64.egg/matplotlib/backends/backend_wx.py", line 1818
SyntaxError: return outside function
On Wednesday, September 13, 2017, 12:53:16 PM GMT+1, Stuart Axon
Here is backend_wx.pyhttps://pastebin.com/0bHs4rY5
from~/.virtualenvs/pypy-nightly-trunk/site-packages/matplotlib-2.1.0rc1+112.g17ec41612.dirty-py2.7-linux-x86_64.egg/matplotlib/backends/backend_wx.py
Around line 1818 there is a mix of tabs and spaces, which doesn't seem right.
Also "class PrintoutWx(wx.Printout):" appears more than once.
I'm using the method from that webpage, the only change is I added "sudo" and "-y" to the apt-get line.
I used my script to grab pypy nightly:https://gist.github.com/stuaxo/5d4c0363317a875617271a6d424abbba
activated the virtualenv it created for trunk
$ source ~/.virtualenvs/pypy-nightly-trunk/bin/activate
Then ran the script - pointing at the virtualenv$ ./build_wx-cffi.sh $VIRTUAL_ENV
I noticed this error when building:
doc
"/mnt/data/home/stu/.virtualenvs/pypy-nightly-trunk/bin/pypy" etg/grid.py --cffi --nodoc
Traceback (most recent call last):
File "etg/grid.py", line 392, in <module>
run()
File "etg/grid.py", line 387, in run
tools.runGenerators(module)
File "/tmp/t/wxpython-cffi/etgtools/tweaker_tools.py", line 636, in runGenerators
g.generate(module)
File "/tmp/t/wxpython-cffi/etgtools/pi_generator.py", line 52, in generate
self.generateModule(module, stream)
File "/tmp/t/wxpython-cffi/etgtools/pi_generator.py", line 149, in generateModule
function(item, stream)
File "/tmp/t/wxpython-cffi/etgtools/pi_generator.py", line 365, in generateClass
bases = [self.fixWxPrefix(b, True) for b in bases]
File "/tmp/t/wxpython-cffi/etgtools/tweaker_tools.py", line 96, in fixWxPrefix
self._getCoreTopLevelNames()
File "/tmp/t/wxpython-cffi/etgtools/tweaker_tools.py", line 133, in _getCoreTopLevelNames
parseTree = ast.parse(text, filename)
File "/home/stu/pypy-nightly/trunk/pypy-c-jit-latest-linux64/lib-python/2.7/ast.py", line 37, in parse
return compile(source, filename, mode, PyCF_ONLY_AST)
File "wx/core.pi", line 27712
def operator==():
I can't paste the whole compile output on pastebin as it is > 512k
On Saturday, September 30, 2017, 8:56:48 PM GMT+1, Matti Picus
participants (4)
-
Armin Rigo
-
matti picus
-
Matti Picus
-
Stuart Axon