pySerial is missing from inkscape

Bug #1645066 reported by please-include-batteries
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Wishlist
Patrick Storz
Inkscape Devlibs
Fix Released
Wishlist
Patrick Storz
Inkscape Devlibs for Windows 64-bit
Fix Released
Wishlist
Patrick Storz

Bug Description

I'm not sure how to re-open a bug so this is related to https://bugs.launchpad.net/inkscape/+bug/1118663

The plotter support that was added is great but depends upon pySerial which the user is presently told to install manually. Installing pySerial is reasonable for expert users but for normal people it is very error prone. The correct version of pySerial needs to be installed and is causing issues for users - for example http://www.inkscapeforum.com/viewtopic.php?t=29283
pySerial is fairly small (250kb uncompressed / 65k compressed) and is cross platform (pure python, no compiled code). Including pySerial would add significant functionality (controlling plotters and vinyl cutters) to Inkscape and reduce errors for users and improve the user experience.

Revision history for this message
please-include-batteries (please-include-batteries) wrote :

The solution is to copy the "serial" folder from https://pypi.python.org/pypi/pyserial/2.7 pyserial-2.7.tar.gz to Inkscape\python\Lib

I would include a tested patch but I am blocked by bug 1645062

Revision history for this message
Alvin Penner (apenner) wrote :

there are a few things that the user can do to improve the likelihood of this working, or to diagnose an installation that is not working. I am on Windows 10, using a 32 bit version of Inkscape (.exe package):

1. during the installation of Inkscape, the Python 2.7 install is optional, so one must confirm that it has been chosen, otherwise you may be using an older obsolete version of Python.

2. confirm whether you are using a 32 bit or 64 bit Inkscape version, since they go into different directories.

3. confirm that Python 2.7 is actually present. In my case I execute the command:

C:\Program Files (x86)\Inkscape\python>python
Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)] on win32

which reports the correct version of Python. Note that it is very important that this command must be executed from within the directory C:\Program Files (x86)\Inkscape\python\, otherwise you may get a false result due to other installations of Python.

4. Once you have successfully copied the serial directory into the Python installation, you can confirm the presence of the serial package using the command:

C:\Program Files (x86)\Inkscape\python>python
Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import serial
>>>

If you get no response, that is no error messages, then the 'serial' installation was successful. Then type ctrl-Z to quit python, and try Inkscape instead.

If all these steps succeed and if it still does not work properly, then I would submit a bug report.

jazzynico (jazzynico)
tags: added: extensions-plugins packaging win32
Revision history for this message
please-include-batteries (please-include-batteries) wrote :

@apenner - I understand how to install pySerial. I would like pySerial to be included with Inkscape because Inkspace includes a plugin which requires it. Presently the plugin tells the user to download and install pySerial manually, but installing it manually is annoying compared to having everything just work. Leaving it out will probably cost more developer time handling future bug reports than including it now.

Revision history for this message
Alvin Penner (apenner) wrote :

yes, I assumed as much. I was just trying to suggest that the original user should be encouraged to experiment a bit to try to locate the source of the problem. I believe that a well-written help file in this case would be more useful than automatically including a package that will be used by only a very few people. (just my 2 cents worth)

Revision history for this message
jazzynico (jazzynico) wrote :

@Alvin - In that specific case, where the package is very small, I think we should include it.

Changed in inkscape:
importance: Undecided → Wishlist
status: New → Confirmed
Changed in inkscape-devlibs:
status: New → Confirmed
importance: Undecided → Wishlist
assignee: nobody → jazzynico (jazzynico)
Changed in inkscape-devlibs64:
status: New → Confirmed
importance: Undecided → Wishlist
Revision history for this message
Alvin Penner (apenner) wrote :

okay, no problem

Revision history for this message
Patrick Storz (ede123) wrote :

I included pyserial in the devlibs now (see [1] and [2]).

It's already landed in the Inkscape 0.92pre4 release if you want to test. (I don't have a plotter to do that ;-) )

[1] http://bazaar.launchpad.net/~inkscape.dev/inkscape-devlibs/trunk/revision/66
[2] http://bazaar.launchpad.net/~inkscape.dev/inkscape-devlibs64/trunk/revision/35
[3] https://inkscape.org/download/development-versions/

Changed in inkscape:
assignee: nobody → Eduard Braun (eduard-braun2)
Changed in inkscape-devlibs:
assignee: jazzynico (jazzynico) → Eduard Braun (eduard-braun2)
Changed in inkscape-devlibs64:
assignee: nobody → Eduard Braun (eduard-braun2)
Changed in inkscape:
status: Confirmed → Fix Committed
Changed in inkscape-devlibs:
status: Confirmed → Fix Committed
status: Fix Committed → Fix Released
Changed in inkscape-devlibs64:
status: Confirmed → Fix Released
Revision history for this message
jazzynico (jazzynico) wrote :

Thanks Eduard!

Changed in inkscape:
milestone: none → 0.92
Bryce Harrington (bryce)
Changed in inkscape:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.