[PyFeyn] PyFeyn error with fd.draw

Georg von Hippel hippel at uni-mainz.de
Tue Jun 7 10:27:17 BST 2016


Hi Ian,

can you try removing the "epsilon=" in front of the 0.01 in lines.py:522? 
Maybe that's enough to get it to run with your setup.

Best,

    Georg


On Tue, 7 Jun 2016, Ian Brock wrote:

> Hi Georg,
>
> Yes, I’m sure. pyfeyn-test2.py worked! Heres the output!
>
> In [1]: %run pyfeyn-test1.py
> /usr/local/texlive/2015/texmf-dist/tex/latex/hepnames/hepnicenames.sty
> ---------------------------------------------------------------------------
> TypeError                                 Traceback (most recent call last)
> /Users/brock/Downloads/pyfeyn-test1.py in <module>()
>     24 glu.addParallelArrow(size=0.1, displace=0.2, sense=-1)
>     25
> ---> 26 fd.draw("pyfeyn-test1.pdf")
>
> /opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pyfeyn/diagrams.py in draw(self, outfile, enlargement)
>     68         """Draw the diagram to a file, with the filetype (EPS or PDF)
>     69         derived from the file extension."""
> ---> 70         c = self.drawToCanvas()
>     71         if c is not None and outfile is not None:
>     72             if pyxversion >= Version("0.12"):
>
> /opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pyfeyn/diagrams.py in drawToCanvas(self)
>     60             if config.getOptions().DEBUG:
>     61                 print("Depth = ", obj.getDepth())
> ---> 62             obj.draw(self.currentCanvas)
>     63
>     64         return self.currentCanvas
>
> /opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pyfeyn/lines.py in draw(self, canvas)
>    520         else:
>    521             para = pyx.deformer.parallel(0.001)
> --> 522             ass, bs, cs = para.normpath_selfintersections(mypath.normpath(), epsilon=0.01)
>    523             coil_params = []
>    524             for b in bs:
>
> TypeError: normpath_selfintersections() missing 1 required positional argument: 'eps_comparepairs'
>
> In [2]: print(pyx.__version__)
> 0.13
>
> Best Regards
> Ian
>
> Ian C. Brock | Physikalisches Institut, Universität Bonn | Nußallee 12 | D-53115 Bonn
> Tel. +49 228 733616 | Email: brock at physik.uni-bonn.de <mailto:brock at physik.uni-bonn.de>
>
>
>
>> On 07 Jun 2016, at 10:47, Georg von Hippel <hippel at uni-mainz.de> wrote:
>>
>>
>> Hi Ian,
>>
>> PyX 0.12.x is for Python 2.x and won't work with Python 3.x. I'm confused about the error using PyX 0.13, though -- are you sure that it isn't actually using the more recent version of PyX still?
>>
>> Best,
>>
>>   Georg
>>
>>
>> On Tue, 7 Jun 2016, Ian Brock wrote:
>>
>>> Hi Georg,
>>>
>>> I used pip to install version PyX 0.13. I got errors from pip when trying to install 0.12.1.
>>> pyfeyn-test1.py still does not work, while pyfeyn-test2.py seems to work?
>>>
>>> brock at ltbrock:~/Downloads$ python pyfeyn-test1.py
>>> /usr/local/texlive/2015/texmf-dist/tex/latex/hepnames/hepnicenames.sty
>>> Traceback (most recent call last):
>>> File "pyfeyn-test1.py", line 26, in <module>
>>>   fd.draw("pyfeyn-test1.pdf")
>>> File "/opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pyfeyn/diagrams.py", line 70, in draw
>>>   c = self.drawToCanvas()
>>> File "/opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pyfeyn/diagrams.py", line 62, in drawToCanvas
>>>   obj.draw(self.currentCanvas)
>>> File "/opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pyfeyn/lines.py", line 522, in draw
>>>   ass, bs, cs = para.normpath_selfintersections(mypath.normpath(), epsilon=0.01)
>>> TypeError: normpath_selfintersections() missing 1 required positional argument: 'eps_comparepairs'
>>> brock at ltbrock:~/Downloads$ python pyfeyn-test2.py
>>> /usr/local/texlive/2015/texmf-dist/tex/latex/hepnames/hepnicenames.sty
>>> Ignoring line 16918 in mapping file 'pdftex.map': Unknown token '<MinLibBol'
>>> Ignoring line 16919 in mapping file 'pdftex.map': Unknown token '<MinLibBol'
>>> Ignoring line 16920 in mapping file 'pdftex.map': Unknown token '<MinLibBol'
>>> Ignoring line 16921 in mapping file 'pdftex.map': Unknown token '<MinLibBolIta'
>>> Ignoring line 16922 in mapping file 'pdftex.map': Unknown token '<MinLibBolIta'
>>> Ignoring line 16923 in mapping file 'pdftex.map': Unknown token '<MinLibBolIta'
>>> Ignoring line 16924 in mapping file 'pdftex.map': Unknown token '<MinLibIta'
>>> Ignoring line 16925 in mapping file 'pdftex.map': Unknown token '<MinLibIta'
>>> Ignoring line 16926 in mapping file 'pdftex.map': Unknown token '<MinLibIta'
>>> Ignoring line 16927 in mapping file 'pdftex.map': Unknown token '<MinLibReg'
>>> Ignoring line 16928 in mapping file 'pdftex.map': Unknown token '<MinLibReg'
>>> Ignoring line 16929 in mapping file 'pdftex.map': Unknown token '<MinLibReg'
>>>
>>> Best Regards
>>> Ian
>>>
>>> Ian C. Brock | Physikalisches Institut, Universität Bonn | Nußallee 12 | D-53115 Bonn
>>> Tel. +49 228 733616 | Email: brock at physik.uni-bonn.de <mailto:brock at physik.uni-bonn.de> <mailto:brock at physik.uni-bonn.de <mailto:brock at physik.uni-bonn.de>>
>>>
>>>
>>>
>>>> On 07 Jun 2016, at 09:48, Georg von Hippel <hippel at uni-mainz.de <mailto:hippel at uni-mainz.de>> wrote:
>>>>
>>>>
>>>> Hi,
>>>>
>>>> this is a perpetual annoyance with PyX -- it does not provide a stable API, and every time they publish a new version, new workaround code is needed.
>>>>
>>>> Pyfeyn works with 0.12.x and 0.13.x, but apparently 0.14.x breaks yet another interface (specifically normpath_selfintersections, which appears to require an additional argument). This will need yet another workaround. Ugh.
>>>>
>>>>> From the name of the required argument eps_comparepairs, I suspect it may
>>>> be enough to replace the "epsilon=0.01" with simply "0.01" on line 522 of lines.py in order to make the code run (quite possibly with all version of PyX), but that needs checking.
>>>>
>>>> Best,
>>>>
>>>>  Georg
>>>>
>>>>
>>>> On Mon, 6 Jun 2016, George S. Williams wrote:
>>>>
>>>>> Hey, Ian,
>>>>>
>>>>> Sorry you're having a problem with PyFeyn. I think the problem is actually with PyX- they change an API and any code that relied on that API call from a previous version is broken. We've had that problem in the past.
>>>>>
>>>>> Would you please let us know which versions of PyX and PyFeyn you have installed?
>>>>>
>>>>> Thanks,
>>>>> George
>>>>>
>>>>>
>>>>> On 6/6/2016 12:20 PM, Ian Brock wrote:
>>>>>> Dear PyFeyn,
>>>>>> I get an error when trying to run the first PyFeyn test file:
>>>>>> python pyfeyn-test1.py
>>>>>> /usr/local/texlive/2015/texmf-dist/tex/latex/hepnames/hepnicenames.sty
>>>>>> Traceback (most recent call last):
>>>>>> File "pyfeyn-test1.py", line 26, in <module>
>>>>>> fd.draw("pyfeyn-test1.pdf")
>>>>>> File "/opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pyfeyn/diagrams.py", line 70, in draw
>>>>>>   c = self.drawToCanvas()
>>>>>> File "/opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pyfeyn/diagrams.py", line 62, in drawToCanvas
>>>>>> obj.draw(self.currentCanvas)
>>>>>> File "/opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pyfeyn/lines.py", line 522, in draw
>>>>>>   ass, bs, cs = para.normpath_selfintersections(mypath.normpath(), epsilon=0.01)
>>>>>> TypeError: normpath_selfintersections() missing 1 required positional argument: 'eps_comparepairs'
>>>>>> I am using Python3.5 installed via Macports.
>>>>>> I installed PyX and PyFeyn via pip. This worked without any error messages.
>>>>>> I tested hepnames in test file and it works fine.
>>>>>> Best Regards
>>>>>> Ian
>>>>>> *Ian C. Brock* | Physikalisches Institut, Universität Bonn | Nußallee 12 | D-53115 Bonn
>>>>>> Tel. +49 228 733616 | Email: brock at physik.uni-bonn.de <mailto:brock at physik.uni-bonn.de> <mailto:brock at physik.uni-bonn.de <mailto:brock at physik.uni-bonn.de>> <mailto:brock at physik.uni-bonn.de <mailto:brock at physik.uni-bonn.de> <mailto:brock at physik.uni-bonn.de <mailto:brock at physik.uni-bonn.de>>>
>>>>>> _______________________________________________
>>>>>> PyFeyn mailing list
>>>>>> PyFeyn at projects.hepforge.org <mailto:PyFeyn at projects.hepforge.org> <mailto:PyFeyn at projects.hepforge.org <mailto:PyFeyn at projects.hepforge.org>>
>>>>>> https://www.hepforge.org/lists/listinfo/pyfeyn <https://www.hepforge.org/lists/listinfo/pyfeyn> <https://www.hepforge.org/lists/listinfo/pyfeyn <https://www.hepforge.org/lists/listinfo/pyfeyn>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> ---
>>>>> This email has been checked for viruses by Avast antivirus software.
>>>>> https://www.avast.com/antivirus <https://www.avast.com/antivirus> <https://www.avast.com/antivirus <https://www.avast.com/antivirus>>
>>>>>
>>
>> --
>> ===========================================================================
>>
>> PD Dr. Georg von Hippel
>> Institut für Kernphysik                 Office: 01-226 (Neubau)
>> Johannes Gutenberg-Universität Mainz    Phone:  +49 6131 39-22933
>> Johann-Joachim-Becher-Weg 45            Fax:    +49 6131 39-22964
>> 55099 Mainz                             Email:  hippel at kph.uni-mainz.de
>> Germany                                 wwwth.kph.uni-mainz.de/1205.php
>>
>> ===========================================================================
>
>

-- 
===========================================================================

  PD Dr. Georg von Hippel
  Institut für Kernphysik                 Office: 01-226 (Neubau)
  Johannes Gutenberg-Universität Mainz    Phone:  +49 6131 39-22933
  Johann-Joachim-Becher-Weg 45            Fax:    +49 6131 39-22964
  55099 Mainz                             Email:  hippel at kph.uni-mainz.de
  Germany                                 wwwth.kph.uni-mainz.de/1205.php

===========================================================================


More information about the PyFeyn mailing list