What happens?:
c:\python360-x64\lib\site-packages\pydot.py:20: UserWarning: `pydot` could not import `dot_parser`, so `pydot` will be unable to parse DOT files. The error was: 'version_info' object has no attribute '__version__'
"The error was: {e}".format(e=e))Steps to replicate the issue:
I was able to reproduce this issue. Install Python 3.6.0 and pip install pydot.
py -3.6
Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pydot
C:\Python36\lib\site-packages\pydot.py:20: UserWarning: `pydot` could not import `dot_parser`, so `pydot` will be unable to parse DOT files. The error was: 'version_info' object has no attribute '__version__'
"The error was: {e}".format(e=e))
>>> import dot_parser
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python36\lib\site-packages\dot_parser.py", line 14, in <module>
from pyparsing import (
File "C:\Python36\lib\site-packages\pyparsing\__init__.py", line 130, in <module>
__version__ = __version_info__.__version__
AttributeError: 'version_info' object has no attribute '__version__'
>>> import pyparsing
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python36\lib\site-packages\pyparsing\__init__.py", line 130, in <module>
__version__ = __version_info__.__version__
AttributeError: 'version_info' object has no attribute '__version__'
>>> from pyparsing import version_info
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python36\lib\site-packages\pyparsing\__init__.py", line 130, in <module>
__version__ = __version_info__.__version__
AttributeError: 'version_info' object has no attribute '__version__'The reason for this regression is that pyparsing.version_info inherits from typing.NamedTuple but all methods defined for version_info are ignored:
>>> version_info.__dict__.keys() dict_keys(['__module__', '__doc__', '__slots__', '_fields', '__new__', '_make', '_replace', '__repr__', '_asdict', '__getnewargs__', 'major', 'minor', 'micro', 'releaselevel', 'serial', '_source', '_field_types'])
but it works with Python 3.6.1:
D:\pwb\GIT\core>py -3.6 Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> from pyparsing import version_info >>> version_info.__dict__.keys() dict_keys(['__module__', '__doc__', '__slots__', '_fields', '__new__', '_make', '_replace', '__repr__', '_asdict', '__getnewargs__', 'major', 'minor', 'micro', 'releaselevel', 'serial', '_source', '__annotations__', '_field_types', '_field_defaults', '__version__', '__str__']) >>>
I propose to drop Python 3.6.0 support with Pywikibot 8 and start with Python 3.6.1+ as already suggested in T301908. Looking at T312794 nobody uses 3.6.0.