cudadog / pydot

Automatically exported from code.google.com/p/pydot
MIT License
0 stars 0 forks source link

pydot depends on pyparsing, the newest version of which is Py3 only #81

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Try to install pydot from pip on OS X.

What is the expected output? What do you see instead?

That it installs correctly.

What version of the product are you using? On what operating system?

pydot 1.0.28 on OS X 10.8.2

Please provide any additional information below.

Probably just need an versioned depend on pyparsing, something like:

Index: setup.py
===================================================================
--- setup.py    (revision 29)
+++ setup.py    (working copy)
@@ -31,5 +31,5 @@
         'Topic :: Software Development :: Libraries :: Python Modules'],
     long_description = "\n".join(pydot.__doc__.split('\n')),
     py_modules = ['pydot', 'dot_parser'],
-    install_requires = ['pyparsing', 'setuptools'],
+    install_requires = ['pyparsing<2.0.0', 'setuptools'],
     data_files = [('.', ['LICENSE', 'README'])] )

Original issue reported on code.google.com by WJWwood on 4 Mar 2013 at 1:01

GoogleCodeExporter commented 9 years ago
Here is the original error output:

https://gist.github.com/wjwwood/5079212

And the related thread I found:

http://sourceforge.net/projects/pyparsing/forums/forum/337293/topic/6481050

Original comment by WJWwood on 4 Mar 2013 at 1:02

GoogleCodeExporter commented 9 years ago
I came to raise this exact issue.

Original comment by dev.yei...@gmail.com on 26 Mar 2013 at 12:00

GoogleCodeExporter commented 9 years ago
Obvious to the initiated but not to the newbie: The workaround is to install 
pyparsing < 2.0.0 prior to installing pydot (or a package that depends on 
pydot.)

$ pip install pyparsing==1.5.7

Original comment by inactiv...@gmail.com on 26 Apr 2013 at 1:45

GoogleCodeExporter commented 9 years ago
Thanks I forgot to post the workaround I used.

Shameless bump, in the mean time I would say that pydot version depending on 
pyparsing would help keep users from hitting this same issue.  I would be in 
favor of dropping the version dependency again after one or more of the major 
operating systems comes with Python3.x as the default version of Python. Until 
then its my opinion that we should flip this around and required the Python3 
users to get the correct version of pyparsing manually.

Original comment by WJWwood on 26 Apr 2013 at 4:46

GoogleCodeExporter commented 9 years ago
Also came here to report this issue; but also, have a solution -- since the 
setup.py is just a python file, could one do something like this?

if python.version >= 3.0:
    install_requires = ['pyparsing', 'setuptools']
else:
    install_requires = ['pyparsing < 2.0.0', 'setuptools']

Original comment by sh...@shishnet.org on 2 Jul 2013 at 8:41

GoogleCodeExporter commented 9 years ago
I agree that would be a good solution also, either way I know a tonne of people 
in our community are running into this problem and we have to keep pointing 
them to this issue...

Original comment by WJWwood on 2 Jul 2013 at 5:09

GoogleCodeExporter commented 9 years ago
Have things improved since the release of pyparsing 2.0.1 is backward 
compatible to Python 2.6 and 2.7?

Original comment by ptmcg...@gmail.com on 3 Aug 2013 at 9:56

GoogleCodeExporter commented 9 years ago
I can now install pydot against pyparsing 2.0.1, but now I get:

>>> import pydot
Couldn't import dot_parser, loading of dot files will not be possible.

Which is probably worth a new ticket here (if there isn't already one), see:

http://stackoverflow.com/questions/15951748/pydot-and-graphviz-error-couldnt-imp
ort-dot-parser-loading-of-dot-files-will

Original comment by WJWwood on 3 Aug 2013 at 6:24

GoogleCodeExporter commented 9 years ago
in dot_patser.py:
* remove "_noncomma" from the 28

* add the below at line 30 of:
_noncomma = "".join( [ c for c in printables if c != "," ] )

'_' prefixed variables should be considered private to the module!

Original comment by grizzly.nyo on 31 Aug 2013 at 11:37

GoogleCodeExporter commented 9 years ago
See http://stackoverflow.com/a/21462609/722624

Original comment by david.vi...@gmail.com on 30 Jan 2014 at 4:54

GoogleCodeExporter commented 9 years ago
This is the patch i'm about to apply to the Debian package

Original comment by sandro.tosi on 11 Mar 2014 at 7:16

Attachments:

GoogleCodeExporter commented 9 years ago
Sandro, thanks for the patch.

Original comment by mar...@martindengler.com on 12 Mar 2014 at 2:03

GoogleCodeExporter commented 9 years ago
Is there any possibility of getting a pydot release with sandro.tosi's patch?

Original comment by mar...@martindengler.com on 11 Apr 2014 at 2:52

GoogleCodeExporter commented 9 years ago
To clarify, if you look at the last stackoverflow link, there's a fork with the 
patch applied. But yeah - this is a major issue. Bump?

Original comment by davcl...@gmail.com on 8 Aug 2014 at 6:30

GoogleCodeExporter commented 9 years ago
bump

Original comment by asilen...@mirantis.com on 24 Feb 2015 at 4:38