From: Guenter S. <Gue...@ph...> - 2009-09-17 19:49:01
|
Another workaround: This works in a simple python shell (on a computer with ATI graphics): ~ $python Python 2.6.2 (release26-maint, Apr 19 2009, 01:58:18) [GCC 4.3.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import wx >>> from visual import * >>> v = vector('x') Traceback (most recent call last): File "<stdin>", line 1, in <module> Boost.Python.ArgumentError: Python argument types in vector.__init__(vector, str) did not match C++ signature: __init__(_object*, cvisual::vector) __init__(_object*) __init__(_object*, double) __init__(_object*, double, double) __init__(_object*, double, double, double) >>> v = vector(1,2,3) >>> for i in v: ... print i ... 1.0 2.0 3.0 >>> quit() ~ $ My guess is that wxpython does something right during initialization which vpython is not doing by itself. Probably an accident that it works for nvidia cards. gs Guenter Schneider wrote: > Thank you for pointing me to pycrust. I can confirm the correct behavior > on my 'ATI' computer using it. It is very strange indeed. I wouldn't > call it a fix but it is a workaround. > > Guenter > > Jim Thomas wrote: >> When I run python on the command line I get segfaults like so: >> >> jim@jtws:~$ python >> Python 2.6.2 (release26-maint, Apr 19 2009, 01:58:18) >> [GCC 4.3.3] on linux2 >> Type "help", "copyright", "credits" or "license" for more information. >> >>> from visual import * >> >>> v = vector('x') >> Segmentation fault >> jim@jtws:~$ >> >> jim@jtws:~$ python >> Python 2.6.2 (release26-maint, Apr 19 2009, 01:58:18) >> [GCC 4.3.3] on linux2 >> Type "help", "copyright", "credits" or "license" for more information. >> >>> from visual import * >> >>> v = vector(1,2,3) >> >>> for i in v: >> ... print i >> ... >> 1.0 >> 2.0 >> 3.0 >> Segmentation fault >> jim@jtws:~$ >> >> However, this is interesting. When I run in PyCrust (distributed as >> part of wxPython) I get this instead: >> >> PyCrust 0.9.5 - The Flakiest Python Shell >> Python 2.6.2 (release26-maint, Apr 19 2009, 01:58:18) >> [GCC 4.3.3] on linux2 >> Type "help", "copyright", "credits" or "license" for more information. >> >>> from visual import * >> >>> v = vector('x') >> Traceback (most recent call last): >> File "<input>", line 1, in <module> >> ArgumentError: Python argument types in >> vector.__init__(vector, str) >> did not match C++ signature: >> __init__(_object*, cvisual::vector) >> __init__(_object*) >> __init__(_object*, double) >> __init__(_object*, double, double) >> __init__(_object*, double, double, double) >> >>> >> >>> v = vector(1,2,3) >> >>> for i in v: >> ... print i >> ... 1.0 >> 2.0 >> 3.0 >> >>> >> >> So basically it works fine so long as I'm using PyCrust. This would >> explain why I have not seen this as a problem since I rarely use the >> command line Python. I'm not quite sure what type of exception visual >> is throwing in the first test but I can catch it: >> >>> try: >> ... v = vector('x') >> ... except Exception as inst: >> ... print 'Exception Caught' >> ... print inst >> ... Exception Caught >> Python argument types in >> vector.__init__(vector, str) >> did not match C++ signature: >> __init__(_object*, cvisual::vector) >> __init__(_object*) >> __init__(_object*, double) >> __init__(_object*, double, double) >> __init__(_object*, double, double, double) >> >>> >> >> Hopefully this helps. it seems to me the simplest fix for you might >> just be to install wxPython and your students use >> PyShell/PyCrust/PyAlamode for code development. >> >> JT >> >> Guenter Schneider wrote: >>> What happens on your system if you run the 2 tests below? I agree it >>> is not a show shopper if you are an experienced programmer. The only >>> thing I can't do is iterate over vector elements (which is what caught >>> my attention). The matter is not so nice in a computational lab with >>> novice programmers who get a seg.fault instead of an error message. It >>> is also very annoying if you use vpython interactively. >>> >>> Guenter >>> >>> Jim Thomas wrote: >>>> Gee, I thought I had VPython working just fine on Ubuntu 9.04 AMD64 >>>> on ATI proprietary until I ran your tests. However since I was able >>>> to develop my VisualPyODE library and demos without problems on this >>>> platform, maybe it is not such a show stopper. I hadn't even noticed... >>>> >>>> JT >>>> >>>> Guenter Schneider wrote: >>>>> I have struggled to get vpython fully working on ubuntu for a while >>>>> now. Here is my summary what I learned. Let me say right away, as >>>>> far as I can tell it's not a vpython problem. >>>>> >>>>> First, unlike others on this list, I have no problems compiling >>>>> vpython 5.12. It works using debian Lenny on any computer I have >>>>> tried. By >>>>> 'it works' I mean these simple tests do not result in seg. faults: >>>>> >>>>> TEST 1: >>>>> >>> from visual import * >>>>> >>> v = vector('x') >>>>> Traceback (most recent call last): >>>>> File "<stdin>", line 1, in <module> >>>>> ValueError: Vectors must be constructed from sequences of 2 or 3 >>>>> float members. >>>>> >>> >>>>> >>>>> TEST 2: >>>>> >>> from visual import * >>>>> >>> v=vector(1,2,3) >>>>> >>> for i in v: >>>>> ... print i >>>>> ... >>>>> 1.0 >>>>> 2.0 >>>>> 3.0 >>>>> >>> >>>>> >>>>> On ubuntu 9.04 it works on some computers but not on others. It >>>>> doesn't matter if I use 32 bit or 64 bit ubuntu 9.04. >>>>> >>>>> In fact the same pattern holds true in my tests for the >>>>> python-visual package that is distributed with ubuntu 9.04 (which is >>>>> vpython 3.2.9). It fails on all computers if a proprietary graphics >>>>> driver is not installed. Activating an nvidia proprietary graphics >>>>> driver results in a working vpython (as defined above), on system >>>>> with ati graphics cards I was not so lucky. I tried 6 different >>>>> computers, 2 with nvidia graphics and 4 with ati graphics. >>>>> >>>>> I got the same result for ubuntu 8.10. It always works with ubuntu >>>>> 8.04.3. >>>>> >>>>> I filed a bug report with ubuntu against vpython since I have no >>>>> idea what is causing this problem. >>>>> >>>>> I could not try python-visual on karmic alpha (which 5.11) since >>>>> that leads to a seg fault like this >>>>> >>>>> >>> from visual import * >>>>> Segmentation fault >>>>> >>>>> There is already a bug report for this. >>>>> >>>>> Guenter >>>>> >>>>> >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> >>>>> Come build with us! The BlackBerry® Developer Conference in SF, CA >>>>> is the only developer event you need to attend this year. Jumpstart >>>>> your >>>>> developing skills, take BlackBerry mobile applications to market and >>>>> stay ahead of the curve. Join us from November 9-12, 2009. >>>>> Register now! >>>>> http://p.sf.net/sfu/devconf >>>>> _______________________________________________ >>>>> Visualpython-users mailing list >>>>> Vis...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/visualpython-users >>>>> > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry® Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9-12, 2009. Register now! > http://p.sf.net/sfu/devconf > _______________________________________________ > Visualpython-users mailing list > Vis...@li... > https://lists.sourceforge.net/lists/listinfo/visualpython-users |