python-syncthing
python-syncthing copied to clipboard
Strange top level import issue
Python 2.7.13 syncthing 2.3.1
I have no idea why the interpreter is hitting line 41, but it is:
(syncthing) jason@host:~$ python
Python 2.7.13 (default, Sep 26 2018, 18:42:22)
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from syncthing import Syncthing
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/jason/venv/syncthing/local/lib/python2.7/site-packages/syncthing/__init__.py", line 41
raise SyncthingError(msg) from exc
^
SyntaxError: invalid syntax
>>> from syncthing import Syncthing
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: cannot import name Syncthing
Full import:
(syncthing) jason@host:~$ python
Python 2.7.13 (default, Sep 26 2018, 18:42:22)
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import syncthing
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/jason/venv/syncthing/local/lib/python2.7/site-packages/syncthing/__init__.py", line 41
raise SyncthingError(msg) from exc
^
SyntaxError: invalid syntax
>>> import syncthing
>>> s = syncthing.Syncthing()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'Syncthing'
>>>
Appears to be a Python 2 vs 3 thing. When using a 3 virtualenv, it works fine.
@lingfish yeah, Python 3 only. I'd accept pull requests if you want to support Python2 as well.
Ok, I may have a stab at it.
Would have been useful if your doco clearly stated Python version support, and any code cleared of hints that it did in fact support 2.
@lingfish actually this is a bug, i haven't worked on this library for a long time and it should be version-2 compatible. I will fix it!