fablabnbg / inkscape-silhouette

An extension to drive Silhouette vinyl cutters (e.g. Cameo, Portrait, Curio series) from within inkscape.
GNU General Public License v2.0
502 stars 116 forks source link

Provide AppImage #30

Open probonopd opened 8 years ago

probonopd commented 8 years ago

Would you be interested in providing a Linux AppImage, a ready-to-use, single-file bundle of Inkscape with a pre-installed and pre-configured Python, libusb, and inkscape-silhouette setup? This way, Linux users of various distributions could just download a single file, make it executable, and run. No fiddling around with repositories, no replacement of system libraries, no root rights needed.

I have prepared an experimental AppImage for testing at https://bintray.com/probono/AppImages/Inkscape/0.91.0%2B52.silhouette1.18.glibc2.17#files

Should work on most 2014-ish and later distributions. It is expected that some fine tuning might be required.

jnweiger commented 8 years ago

How does AppImage compare to Docker?

probonopd commented 8 years ago

Docker is lightweight containers for servers, AppImage is even lighter weight portable apps for desktops. At least directionally.

probonopd commented 5 years ago

What do you think about this idea? Still worthwhile? Inkscape is producing an official AppImage these days.

jnweiger commented 5 years ago

An AppImage would be cool as a container to deliver dependencies (the correct usblibs, dbus rules and whatnot) together with the actual inkscape-silhouette code. But including inkscape itself in the bundle is messy. there a multiple other inkscape extensions, that I'd like to offer as packages too. e.g. autotrace or even VisiCut. Currently my inkscape loads ca 30 extensions in total.

If there is one official inkscape AppImage: The more extensions get included in that one, the less pain for end users. But I don't know the official submission and approval process.

probonopd commented 5 years ago

So you are saying you'd like to see an "Inkscape + all extensions" AppImage more than an "Inkscape + inkscape-silhouette AppImage"?

Not sure whether the Inkscape project will be open to this idea, but why not suggest it at https://gitlab.com/inkscape/inbox/issues/...

jnweiger commented 5 years ago

Correct. The use case of having an AppImage with "Inkscape + inkscape-silhouette extension" breaks apart, as soon as I want to use other extensions that are not bundled with upstream inkscape. The only two paths I can see then, are

probonopd commented 5 years ago

My use case is:

On a random Linux system, I want to be able to download just one file and be able to use Inkscape and the Silhouette. I am not using any other plugins.

One AppImage with all known good plugins would probably be the best solution. It might be very convenient, but probably also a lot of work to make.

probonopd commented 5 years ago

Submitted https://gitlab.com/inkscape/inbox/issues/171.

probonopd commented 5 years ago

Note to self, this is how to use the Inkscape AppImage with inkscape-silhouette:

wget -c https://github.com/fablabnbg/inkscape-silhouette/archive/master.tar.gz
tar xf  master.tar.gz
mkdir -p $HOME/.config/inkscape/extensions/
cp -r inkscape-silhouette-master/* $HOME/.config/inkscape/extensions/
apt download python-usb
dpkg -x python-usb*.deb .
cp -r ./usr/lib/python2.7/dist-packages/usb $HOME/.config/inkscape/extensions/
sudo su
cat > /etc/udev/rules.d/99-graphtec-silhouette.rules <<\EOF
SUBSYSTEM=="usb", ATTR{idVendor}=="0b4d", ATTR{idProduct}=="1123", MODE="666"
EOF
udevadm trigger
probonopd commented 5 years ago

When trying the above with the latest Inkscape continuous build from https://gitlab.com/inkscape/inkscape/-/jobs/223396411/artifacts/file/Inkscape-174908a-x86_64.AppImage, the result is

sendto_silhouette.py:264: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('--active-tab', action = 'store', dest = 'active_tab',
sendto_silhouette.py:266: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-d', '--dashes',
sendto_silhouette.py:269: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-a', '--autocrop',
sendto_silhouette.py:272: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-b', '--bbox', '--bbox-only', '--bbox_only',
sendto_silhouette.py:275: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-c', '--bladediameter',
sendto_silhouette.py:278: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('--dummy',
sendto_silhouette.py:281: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-g', '--strategy',
sendto_silhouette.py:285: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-m', '--media', '--media-id', '--media_id',
sendto_silhouette.py:291: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-o', '--overcut',
sendto_silhouette.py:294: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-M', '--multipass',
sendto_silhouette.py:297: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-p', '--pressure',
sendto_silhouette.py:300: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-r', '--reversetoggle',
sendto_silhouette.py:303: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-s', '--speed',
sendto_silhouette.py:306: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option( "-S", "--smoothness", action="store", type="float",
sendto_silhouette.py:308: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-t', '--tool', action = 'store',
sendto_silhouette.py:310: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-V', '--version',
sendto_silhouette.py:313: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-w', '--wait', '--wait-done', '--wait_done',
sendto_silhouette.py:316: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-x', '--x-off', '--x_off', action = 'store',
sendto_silhouette.py:318: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-y', '--y-off', '--y_off', action = 'store',
sendto_silhouette.py:320: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-R', '--regmark',
sendto_silhouette.py:323: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('--regsearch',
sendto_silhouette.py:326: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-X', '--reg-x', '--regwidth', action = 'store',
sendto_silhouette.py:328: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-Y', '--reg-y', '--reglength', action = 'store',
sendto_silhouette.py:330: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('--rego-x',  '--regoriginx',action = 'store',
sendto_silhouette.py:332: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('--rego-y', '--regoriginy', action = 'store',
sendto_silhouette.py:334: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-e', '--endposition', '--end-postition',
sendto_silhouette.py:1176: DeprecationWarning: Effect.affect is now `Effect.run()` with the same args
  e.affect()

Please, let's have an AppImage with has inkscape-silhouette preinstalled and working out of the box. Each time such a hassle to get it going.

jnweiger commented 5 years ago

The deprecation warnings are due to the new extension API of inkscape 1.0 -- we do not have a good way to keep one and the same code compatible with both 0.92 and 1.0 -- while 1.0 is still in alpha phase, we cannot drop 0.92 compatibility.

To hide the warnings from users, you can add INKEX_DEPRECATION_LEVEL=0 to the AppImage initialization script. Developers must see the warnings, but end-users should not.

probonopd commented 5 years ago

Are you saying that currently this plugin is not expected to be working in Inkscape 1.0? Getting this when I try to plot a font converted to text:

  File "sendto_silhouette.py", line 998, in effect
    self.recursivelyTraverseSvg( [self.selected[id]] )
  File "sendto_silhouette.py", line 552, in recursivelyTraverseSvg
    self.plotPath( node, transform )
  File "sendto_silhouette.py", line 386, in plotPath
    applyTransformToPath( matTransform, p )
  File "/tmp/.mount_Inksca9975Ps/share/inkscape/extensions/inkex/deprecated.py", line 234, in _inner
    return func(*args, **kwargs)
  File "/tmp/.mount_Inksca9975Ps/share/inkscape/extensions/inkex/deprecated-simple/simpletransform.py", line 60, in applyTransformToPath
    return Path(path).transform(Transform(mat)).to_arrays()
  File "/tmp/.mount_Inksca9975Ps/share/inkscape/extensions/inkex/paths.py", line 291, in __init__
    self.append(PathCommand(item[0], *item[1]))
  File "/tmp/.mount_Inksca9975Ps/share/inkscape/extensions/inkex/paths.py", line 68, in __new__
    if cmd.upper().strip() == cls.this_cmd:
AttributeError: 'list' object has no attribute 'upper'
jnweiger commented 5 years ago

I have neiter positive nor negative test reports. We worked on maling 1.0 alpha2 100% compatible with the old api. with the first alpha I'd expect some explosions.

probonopd notifications@github.com schrieb am Sa., 1. Juni 2019 20:38:

Are you saying that currently this plugin is not expected to be working in Inkscape 1.0? Getting this when I try to plot a font converted to text:

File "sendto_silhouette.py", line 998, in effect self.recursivelyTraverseSvg( [self.selected[id]] ) File "sendto_silhouette.py", line 552, in recursivelyTraverseSvg self.plotPath( node, transform ) File "sendto_silhouette.py", line 386, in plotPath applyTransformToPath( matTransform, p ) File "/tmp/.mount_Inksca9975Ps/share/inkscape/extensions/inkex/deprecated.py", line 234, in _inner return func(*args, *kwargs) File "/tmp/.mount_Inksca9975Ps/share/inkscape/extensions/inkex/deprecated-simple/simpletransform.py", line 60, in applyTransformToPath return Path(path).transform(Transform(mat)).to_arrays() File "/tmp/.mount_Inksca9975Ps/share/inkscape/extensions/inkex/paths.py", line 291, in init self.append(PathCommand(item[0], item[1])) File "/tmp/.mount_Inksca9975Ps/share/inkscape/extensions/inkex/paths.py", line 68, in new if cmd.upper().strip() == cls.this_cmd: AttributeError: 'list' object has no attribute 'upper'

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/fablabnbg/inkscape-silhouette/issues/30?email_source=notifications&email_token=AAIOUQRDRX62SPPM2O2JO7DPYK6ZRA5CNFSM4CVI7SWKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWXGHZY#issuecomment-497968103, or mute the thread https://github.com/notifications/unsubscribe-auth/AAIOUQQVC5P2VQ2VU5YKDDLPYK6ZRANCNFSM4CVI7SWA .

jnweiger commented 5 years ago

While enjoying your today's talk at LGM, I gave it a try (using advanced -> dummy device output). Seems trivial things like import math, re were missing. Fixed in https://github.com/fablabnbg/inkscape-silhouette/commit/7cb74d4f58ad859272d5f4a916091e7a2738f1e9#diff-ffbf6bd313ffa71608fa9f09fc9379a0

Using latest master of the inkscape-silhouette extension and latest master of inkscape itself, I can draw some stars, and get a nice /tmp/silhouette.dump file with the default settings. (And a ton of deprecation warnings, that I'll ignore for now).

@probonopd can you share a file that causes the list.upper() crash? The trace above seems to come from deep within inkex.py ...

probonopd commented 5 years ago

@jnweiger thanks. This is what I am getting now:

wget -c https://github.com/fablabnbg/inkscape-silhouette/archive/master.tar.gz
tar xf  master.tar.gz
mkdir -p $HOME/.config/inkscape/extensions/
cp -r inkscape-silhouette-master/* $HOME/.config/inkscape/extensions/
apt download python-usb
dpkg -x python-usb*.deb .
cp -r ./usr/lib/python2.7/dist-packages/usb $HOME/.config/inkscape/extensions/
sudo su
cat > /etc/udev/rules.d/99-graphtec-silhouette.rules <<\EOF
SUBSYSTEM=="usb", ATTR{idVendor}=="0b4d", ATTR{idProduct}=="1123", MODE="666"
EOF
udevadm trigger

wget -c "https://gitlab.com/inkscape/inkscape/-/jobs/223644003/artifacts/raw/Inkscape-883c7bc-x86_64.AppImage"
chmod +x Inkscape-883c7bc-x86_64.AppImage
./Inkscape-883c7bc-x86_64.AppImage

Run experimental bundle that bundles everything

** (ld-linux-x86-64.so.2:12099): WARNING **: 19:15:10.536: Failed to find resource file 'simplepath.py'. Looked in:
    /home/me/.config/inkscape/extensions/simplepath.py
    /tmp/.mount_InkscarRg8rK/usr/lib/share/../../share/inkscape/extensions/simplepath.py

** (ld-linux-x86-64.so.2:12099): WARNING **: 19:15:10.545: Failed to find resource file 'simpletransform.py'. Looked in:
    /home/me/.config/inkscape/extensions/simpletransform.py
    /tmp/.mount_InkscarRg8rK/usr/lib/share/../../share/inkscape/extensions/simpletransform.py

** (ld-linux-x86-64.so.2:12099): WARNING **: 19:15:10.550: Failed to find resource file 'simplestyle.py'. Looked in:
    /home/me/.config/inkscape/extensions/simplestyle.py
    /tmp/.mount_InkscarRg8rK/usr/lib/share/../../share/inkscape/extensions/simplestyle.py

** (ld-linux-x86-64.so.2:12099): WARNING **: 19:15:10.555: Failed to find resource file 'cubicsuperpath.py'. Looked in:
    /home/me/.config/inkscape/extensions/cubicsuperpath.py
    /tmp/.mount_InkscarRg8rK/usr/lib/share/../../share/inkscape/extensions/cubicsuperpath.py

** (ld-linux-x86-64.so.2:12099): WARNING **: 19:15:10.560: Failed to find resource file 'cspsubdiv.py'. Looked in:
    /home/me/.config/inkscape/extensions/cspsubdiv.py
    /tmp/.mount_InkscarRg8rK/usr/lib/share/../../share/inkscape/extensions/cspsubdiv.py

** (ld-linux-x86-64.so.2:12099): WARNING **: 19:15:10.564: Failed to find resource file 'bezmisc.py'. Looked in:
    /home/me/.config/inkscape/extensions/bezmisc.py
    /tmp/.mount_InkscarRg8rK/usr/lib/share/../../share/inkscape/extensions/bezmisc.py
Pango version: 1.42.3
build_menu: xml is nullptr
sendto_silhouette.py:265: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('--active-tab', action = 'store', dest = 'active_tab',
sendto_silhouette.py:267: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-d', '--dashes',
sendto_silhouette.py:270: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-a', '--autocrop',
sendto_silhouette.py:273: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-b', '--bbox', '--bbox-only', '--bbox_only',
sendto_silhouette.py:276: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-c', '--bladediameter',
sendto_silhouette.py:279: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('--dummy',
sendto_silhouette.py:282: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-g', '--strategy',
sendto_silhouette.py:286: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-m', '--media', '--media-id', '--media_id',
sendto_silhouette.py:292: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-o', '--overcut',
sendto_silhouette.py:295: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-M', '--multipass',
sendto_silhouette.py:298: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-p', '--pressure',
sendto_silhouette.py:301: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-r', '--reversetoggle',
sendto_silhouette.py:304: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-s', '--speed',
sendto_silhouette.py:307: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option( "-S", "--smoothness", action="store", type="float",
sendto_silhouette.py:309: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-t', '--tool', action = 'store',
sendto_silhouette.py:311: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-V', '--version',
sendto_silhouette.py:314: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-w', '--wait', '--wait-done', '--wait_done',
sendto_silhouette.py:317: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-x', '--x-off', '--x_off', action = 'store',
sendto_silhouette.py:319: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-y', '--y-off', '--y_off', action = 'store',
sendto_silhouette.py:321: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-R', '--regmark',
sendto_silhouette.py:324: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('--regsearch',
sendto_silhouette.py:327: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-X', '--reg-x', '--regwidth', action = 'store',
sendto_silhouette.py:329: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-Y', '--reg-y', '--reglength', action = 'store',
sendto_silhouette.py:331: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('--rego-x',  '--regoriginx',action = 'store',
sendto_silhouette.py:333: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('--rego-y', '--regoriginy', action = 'store',
sendto_silhouette.py:335: DeprecationWarning: Effect.OptionParser or `optparse` is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with `argparser`. You must change `self.OptionParser.add_option` to `self.arg_parser.add_argument` the arguments are similar.
  self.OptionParser.add_option('-e', '--endposition', '--end-postition',
sendto_silhouette.py:1177: DeprecationWarning: Effect.affect is now `Effect.run()` with the same args
  e.affect()
No Graphtec Silhouette devices found.
Check USB and Power.
Devices: (1d6b,0003) (8087,0a2a) (04f2,b577) (0781,5583) (1d6b,0002) 

I don't have a device with me right now (travelling from LGW) to test with atm.

can you share a file that causes the list.upper() crash? The trace above seems to come from deep within inkex.py ...

I did not save the file but the above describes what I had done to make this document - really just a simple text.

jnweiger commented 5 years ago
Run experimental bundle that bundles everything

** (ld-linux-x86-64.so.2:12099): WARNING **: 19:15:10.536: Failed to
find resource file 'simplepath.py'. Looked in:
    /home/me/.config/inkscape/extensions/simplepath.py
    /tmp/.mount_InkscarRg8rK/usr/lib/share/../../share/inkscape/extensions/simplepath.py

most of the inkscape libraries seem to be missing in the bundle.

On a native ubuntu all these libraries get installed into /usr/share/inkscape/extensions as part of a proper inkscape install.

have a safe journey!

probonopd notifications@github.com schrieb am So., 2. Juni 2019 19:19:

@jnweiger https://github.com/jnweiger thanks. This is what I am getting now:

wget -c https://github.com/fablabnbg/inkscape-silhouette/archive/master.tar.gz tar xf master.tar.gz mkdir -p $HOME/.config/inkscape/extensions/ cp -r inkscape-silhouette-master/ $HOME/.config/inkscape/extensions/ apt download python-usb dpkg -x python-usb.deb . cp -r ./usr/lib/python2.7/dist-packages/usb $HOME/.config/inkscape/extensions/ sudo su cat > /etc/udev/rules.d/99-graphtec-silhouette.rules <<\EOF SUBSYSTEM=="usb", ATTR{idVendor}=="0b4d", ATTR{idProduct}=="1123", MODE="666" EOF udevadm trigger

wget -c "https://gitlab.com/inkscape/inkscape/-/jobs/223644003/artifacts/raw/Inkscape-883c7bc-x86_64.AppImage" chmod +x Inkscape-883c7bc-x86_64.AppImage ./Inkscape-883c7bc-x86_64.AppImage

Run experimental bundle that bundles everything

(ld-linux-x86-64.so.2:12099): WARNING : 19:15:10.536: Failed to find resource file 'simplepath.py'. Looked in: /home/me/.config/inkscape/extensions/simplepath.py /tmp/.mount_InkscarRg8rK/usr/lib/share/../../share/inkscape/extensions/simplepath.py

(ld-linux-x86-64.so.2:12099): WARNING : 19:15:10.545: Failed to find resource file 'simpletransform.py'. Looked in: /home/me/.config/inkscape/extensions/simpletransform.py /tmp/.mount_InkscarRg8rK/usr/lib/share/../../share/inkscape/extensions/simpletransform.py

(ld-linux-x86-64.so.2:12099): WARNING : 19:15:10.550: Failed to find resource file 'simplestyle.py'. Looked in: /home/me/.config/inkscape/extensions/simplestyle.py /tmp/.mount_InkscarRg8rK/usr/lib/share/../../share/inkscape/extensions/simplestyle.py

(ld-linux-x86-64.so.2:12099): WARNING : 19:15:10.555: Failed to find resource file 'cubicsuperpath.py'. Looked in: /home/me/.config/inkscape/extensions/cubicsuperpath.py /tmp/.mount_InkscarRg8rK/usr/lib/share/../../share/inkscape/extensions/cubicsuperpath.py

(ld-linux-x86-64.so.2:12099): WARNING : 19:15:10.560: Failed to find resource file 'cspsubdiv.py'. Looked in: /home/me/.config/inkscape/extensions/cspsubdiv.py /tmp/.mount_InkscarRg8rK/usr/lib/share/../../share/inkscape/extensions/cspsubdiv.py

(ld-linux-x86-64.so.2:12099): WARNING : 19:15:10.564: Failed to find resource file 'bezmisc.py'. Looked in: /home/me/.config/inkscape/extensions/bezmisc.py /tmp/.mount_InkscarRg8rK/usr/lib/share/../../share/inkscape/extensions/bezmisc.py Pango version: 1.42.3 build_menu: xml is nullptr

  • Enter some text in a text box
  • Select all
  • Path -> Object to Path
  • Send to Silhouette

sendto_silhouette.py:265: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('--active-tab', action = 'store', dest = 'active_tab', sendto_silhouette.py:267: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('-d', '--dashes', sendto_silhouette.py:270: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('-a', '--autocrop', sendto_silhouette.py:273: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('-b', '--bbox', '--bbox-only', '--bbox_only', sendto_silhouette.py:276: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('-c', '--bladediameter', sendto_silhouette.py:279: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('--dummy', sendto_silhouette.py:282: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('-g', '--strategy', sendto_silhouette.py:286: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('-m', '--media', '--media-id', '--media_id', sendto_silhouette.py:292: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('-o', '--overcut', sendto_silhouette.py:295: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('-M', '--multipass', sendto_silhouette.py:298: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('-p', '--pressure', sendto_silhouette.py:301: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('-r', '--reversetoggle', sendto_silhouette.py:304: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('-s', '--speed', sendto_silhouette.py:307: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option( "-S", "--smoothness", action="store", type="float", sendto_silhouette.py:309: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('-t', '--tool', action = 'store', sendto_silhouette.py:311: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('-V', '--version', sendto_silhouette.py:314: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('-w', '--wait', '--wait-done', '--wait_done', sendto_silhouette.py:317: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('-x', '--x-off', '--x_off', action = 'store', sendto_silhouette.py:319: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('-y', '--y-off', '--y_off', action = 'store', sendto_silhouette.py:321: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('-R', '--regmark', sendto_silhouette.py:324: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('--regsearch', sendto_silhouette.py:327: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('-X', '--reg-x', '--regwidth', action = 'store', sendto_silhouette.py:329: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('-Y', '--reg-y', '--reglength', action = 'store', sendto_silhouette.py:331: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('--rego-x', '--regoriginx',action = 'store', sendto_silhouette.py:333: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('--rego-y', '--regoriginy', action = 'store', sendto_silhouette.py:335: DeprecationWarning: Effect.OptionParser or optparse is very old, it was deprecated when python 2.7 came out in 2009 and is now replaced with argparser. You must change self.OptionParser.add_option to self.arg_parser.add_argument the arguments are similar. self.OptionParser.add_option('-e', '--endposition', '--end-postition', sendto_silhouette.py:1177: DeprecationWarning: Effect.affect is now Effect.run() with the same args e.affect() No Graphtec Silhouette devices found. Check USB and Power. Devices: (1d6b,0003) (8087,0a2a) (04f2,b577) (0781,5583) (1d6b,0002)

I don't have a device with me right now (travelling from LGW) to test with atm.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/fablabnbg/inkscape-silhouette/issues/30?email_source=notifications&email_token=AAIOUQQDLM25POLQ5T5PO6TPYP6KBA5CNFSM4CVI7SWKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWX2CVA#issuecomment-498049364, or mute the thread https://github.com/notifications/unsubscribe-auth/AAIOUQQFWQSGTLAJY3FMRILPYP6KBANCNFSM4CVI7SWA .

probonopd commented 5 years ago

The AppImage has

usr/share/inkscape/extensions/inkex/deprecated-simple/simplepath.py

and

me@host:~$ find squashfs-root/usr/share/inkscape/extensions/ -name '*py*' -type f | sort | uniq | wc -l
204

so could it be that deprecated-simple is causing the issue?

Reference: https://gitlab.com/inkscape/extensions/issues/38

probonopd commented 5 years ago

Martin Owens @doctormo wrote over at https://gitlab.com/inkscape/extensions/issues/38#note_177701765:

Simple path is deprecated, the integrated path replacement in inkex/paths.py should be used instead. There's currently a replacement SuperPath being developed too (WIP). Everything in depricated-simple is expected to keep working, but with warnings in dev, i.e. warnings may be suppressed on final release.

t0b3 commented 3 years ago

this would be great of course. can you contribute some github workflow to get this running?