python-syncthing icon indicating copy to clipboard operation
python-syncthing copied to clipboard

Strange top level import issue

Open lingfish opened this issue 6 years ago • 4 comments

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'
>>> 

lingfish avatar Apr 27 '19 05:04 lingfish

Appears to be a Python 2 vs 3 thing. When using a 3 virtualenv, it works fine.

lingfish avatar Apr 27 '19 07:04 lingfish

@lingfish yeah, Python 3 only. I'd accept pull requests if you want to support Python2 as well.

blakev avatar Apr 30 '19 21:04 blakev

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 avatar Apr 30 '19 23:04 lingfish

@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!

blakev avatar May 01 '19 03:05 blakev