plottertools / taxi

Opinionated Axidraw interface
MIT License
18 stars 2 forks source link

Install #1

Open Cronbo opened 3 years ago

Cronbo commented 3 years ago

Trying to get this installed on my raspberry pi 4 but running into the following error after running this step in your instructions. Any ideas?

Command: pip install git+https://github.com/plottertools/taxi#egg=tax

Error message: WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip. Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue. To avoid this problem you can invoke Python with '-m pip' instead of running pip directly. Defaulting to user installation because normal site-packages is not writeable Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple Collecting taxi Cloning https://github.com/plottertools/taxi to /tmp/pip-install-4s4euflv/taxi_d014491f54df4b09bb093a15881bdcc2 Running command git clone -q https://github.com/plottertools/taxi /tmp/pip-install-4s4euflv/taxi_d014491f54df4b09bb093a15881bdcc2 Installing build dependencies ... done Getting requirements to build wheel ... done ERROR: Exception: Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 180, in _main status = self.run(options, args) File "/usr/local/lib/python3.9/site-packages/pip/_internal/cli/req_command.py", line 205, in wrapper return func(self, options, args) File "/usr/local/lib/python3.9/site-packages/pip/_internal/commands/install.py", line 318, in run requirement_set = resolver.resolve( File "/usr/local/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 103, in resolve r = self.factory.make_requirement_from_install_req( File "/usr/local/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 429, in make_requirement_from_install_req cand = self._make_candidate_from_link( File "/usr/local/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 200, in _make_candidate_from_link self._link_candidate_cache[link] = LinkCandidate( File "/usr/local/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in init super().init( File "/usr/local/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 151, in init self.dist = self._prepare() File "/usr/local/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 234, in _prepare dist = self._prepare_distribution() File "/usr/local/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution return self._factory.preparer.prepare_linked_requirement( File "/usr/local/lib/python3.9/site-packages/pip/_internal/operations/prepare.py", line 508, in prepare_linked_requirement return self._prepare_linked_requirement(req, parallel_builds) File "/usr/local/lib/python3.9/site-packages/pip/_internal/operations/prepare.py", line 570, in _prepare_linked_requirement dist = _get_prepared_distribution( File "/usr/local/lib/python3.9/site-packages/pip/_internal/operations/prepare.py", line 60, in _get_prepared_distribution abstract_dist.prepare_distribution_metadata(finder, build_isolation) File "/usr/local/lib/python3.9/site-packages/pip/_internal/distributions/sdist.py", line 34, in prepare_distribution_metadata self._setup_isolation(finder) File "/usr/local/lib/python3.9/site-packages/pip/_internal/distributions/sdist.py", line 88, in _setup_isolation reqs = backend.get_requires_for_build_wheel() File "/usr/local/lib/python3.9/site-packages/pip/_vendor/pep517/wrappers.py", line 168, in get_requires_for_build_wheel return self._call_hook('get_requires_for_build_wheel', { File "/usr/local/lib/python3.9/site-packages/pip/_vendor/pep517/wrappers.py", line 275, in _call_hook raise BackendUnavailable(data.get('traceback', '')) pip._vendor.pep517.wrappers.BackendUnavailable: Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 86, in _build_backend obj = import_module(mod_path) File "/usr/local/lib/python3.9/importlib/init.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 1030, in _gcd_import File "", line 1007, in _find_and_load File "", line 972, in _find_and_load_unlocked File "", line 228, in _call_with_frames_removed File "", line 1030, in _gcd_import File "", line 1007, in _find_and_load File "", line 986, in _find_and_load_unlocked File "", line 680, in _load_unlocked File "", line 850, in exec_module File "", line 228, in _call_with_frames_removed File "/tmp/pip-build-env-rffw7ajn/overlay/lib/python3.9/site-packages/setuptools/init.py", line 18, in from setuptools.dist import Distribution File "/tmp/pip-build-env-rffw7ajn/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 38, in from setuptools import windows_support File "/tmp/pip-build-env-rffw7ajn/overlay/lib/python3.9/site-packages/setuptools/windows_support.py", line 2, in import ctypes File "/usr/local/lib/python3.9/ctypes/init.py", line 8, in from _ctypes import Union, Structure, Array ModuleNotFoundError: No module named '_ctypes'

abey79 commented 3 years ago

@Cronbo it looks like you need this too:

sudo apt-get install python3-dev

Note that your command should read as follows (but this is likely not the issue):

pip install git+https://github.com/plottertools/taxi#egg=taxi

(missing i at the end)

Also, the install procedure should be considerably simpler with vpype 1.7.0, if you don't require vpype viewer (taxi doesn't need it). I have yet to update the instructions.

Cronbo commented 3 years ago

I will try your suggestions in a bit. And yes, the “i” in taxi was missing when I copied and pasted the command to this message. When I ran it (multiple times) it was properly spelled. I’ll report back if I have any further issues. Thanks for the help!

Cronbo commented 3 years ago

Hello, I tried your suggestion and ran “ sudo pip install python3-dev ” but then got the following error:

WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip. Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue. To avoid this problem you can invoke Python with '-m pip' instead of running pip directly. Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple ERROR: Could not find a version that satisfies the requirement python3-dev (from versions: none) ERROR: No matching distribution found for python3-dev

Any other tips? Thanks!

abey79 commented 3 years ago

Sorry, the correct command is sudo apt-get install python3-dev

Cronbo commented 3 years ago

Ok, I ran the command and got this:

$ sudo apt-get install python3-dev Reading package lists... Done Building dependency tree
Reading state information... Done python3-dev is already the newest version (3.7.3-1). python3-dev set to manually installed. The following packages were automatically installed and are no longer required: gyp libc-ares2 libjs-inherits libjs-is-typedarray libssl-dev libuv1 libuv1-dev node-abbrev node-ajv node-ansi node-ansi-align node-ansi-regex node-ansi-styles node-ansistyles node-aproba node-archy node-are-we-there-yet node-asn1 node-assert-plus node-asynckit node-aws-sign2 node-aws4 node-balanced-match node-bcrypt-pbkdf node-bluebird node-boxen node-brace-expansion node-builtin-modules node-builtins node-cacache node-call-limit node-camelcase node-caseless node-chalk node-chownr node-cli-boxes node-cliui node-clone node-co node-color-convert node-color-name node-combined-stream node-concat-map node-concat-stream node-config-chain node-console-control-strings node-copy-concurrently node-core-util-is node-cross-spawn node-cyclist node-dashdash node-decamelize node-decompress-response node-deep-extend node-defaults node-delayed-stream node-delegates node-detect-indent node-detect-newline node-duplexer3 node-duplexify node-ecc-jsbn node-editor node-encoding node-end-of-stream node-errno node-escape-string-regexp node-execa node-extend node-extsprintf node-find-up node-flush-write-stream node-forever-agent node-form-data node-from2 node-fs-vacuum node-fs-write-stream-atomic node-fs.realpath node-gauge node-get-caller-file node-get-stream node-getpass node-glob node-got node-graceful-fs node-har-schema node-har-validator node-has-flag node-has-symbol-support-x node-has-to-string-tag-x node-has-unicode node-hosted-git-info node-http-signature node-iconv-lite node-iferr node-import-lazy node-imurmurhash node-inflight node-inherits node-ini node-invert-kv node-is-builtin-module node-is-npm node-is-object node-is-plain-obj node-is-retry-allowed node-is-stream node-is-typedarray node-isarray node-isexe node-isstream node-isurl node-jsbn node-json-parse-better-errors node-json-schema node-json-stable-stringify node-json-stringify-safe node-jsonify node-jsonparse node-jsonstream node-jsprim node-latest-version node-lazy-property node-lcid node-libnpx node-locate-path node-lockfile node-lowercase-keys node-lru-cache node-mem node-mime-types node-mimic-fn node-mimic-response node-minimatch node-minimist node-mississippi node-mkdirp node-move-concurrently node-mute-stream node-node-uuid node-nopt node-normalize-package-data node-npm-package-arg node-npm-run-path node-npmlog node-oauth-sign node-object-assign node-once node-opener node-os-locale node-osenv node-p-cancelable node-p-finally node-p-limit node-p-locate node-p-timeout node-package-json node-parallel-transform node-path-exists node-path-is-absolute node-path-is-inside node-performance-now node-prepend-http node-process-nextick-args node-promise-inflight node-promzard node-proto-list node-prr node-pump node-pumpify node-punycode node-qs node-qw node-rc node-read node-read-package-json node-readable-stream node-registry-auth-token node-registry-url node-request node-require-directory node-require-main-filename node-resolve-from node-retry node-rimraf node-run-queue node-safe-buffer node-semver node-semver-diff node-set-blocking node-sha node-shebang-command node-shebang-regex node-signal-exit node-slash node-slide node-sorted-object node-spdx-correct node-spdx-expression-parse node-spdx-license-ids node-sshpk node-ssri node-stream-each node-stream-iterate node-stream-shift node-string-decoder node-string-width node-strip-ansi node-strip-eof node-strip-json-comments node-supports-color node-tar node-term-size node-text-table node-through node-through2 node-timed-out node-tough-cookie node-tunnel-agent node-tweetnacl node-typedarray node-uid-number node-unique-filename node-unpipe node-url-parse-lax node-url-to-options node-util-deprecate node-uuid node-validate-npm-package-license node-validate-npm-package-name node-verror node-wcwidth.js node-which node-which-module node-wide-align node-widest-line node-wrap-ansi node-wrappy node-write-file-atomic node-xdg-basedir node-xtend node-y18n node-yallist node-yargs node-yargs-parser nodejs-doc Use 'sudo apt autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Cronbo commented 3 years ago

Also tried installing again using the latest instructions and ran into the following issues:

  1. The $ sign at the beginning of each command listed should not be included as it generates an error, when this website’s “copy/clipboard” icon is used to copy the command
  2. I get this error message after i run the command without the $

pi@raspberrypi:~ $ sudo apt-get install python3.9 python3-dev python3-shapely python3-pil python3-numpy python3-scipy python3-serial python3-pygame libsdl2-dev Reading package lists... Done Building dependency tree
Reading state information... Done E: Unable to locate package python3.9 E: Couldn't find any package by glob 'python3.9' E: Couldn't find any package by regex 'python3.9'

abey79 commented 3 years ago

Yeah I didn't realise that this would interfere with the copy/paste feature. The $ is there to signify that the command should be entered in a terminal.

This is probably because you are on raspbian stable (as opposed to testing). Apparently 3.9 is not available there. You may try by replacing with python3.7, it should work and should be supported.

Cronbo commented 1 year ago

Getting these errors...

pi@plotterpi:~ $ source taxi-venv/bin/activate (taxi-venv) pi@plotterpi:~ $ pip install git+https://github.com/plottertools/taxi#egg=taxi Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple Collecting taxi Cloning https://github.com/plottertools/taxi to /tmp/pip-install-gycz3ll_/taxi116aa34c57ce4c31837c25fa7963e9c6 Running command git clone -q https://github.com/plottertools/taxi /tmp/pip-install-gycz3ll/taxi_116aa34c57ce4c31837c25fa7963e9c6 Installing build dependencies ... done Getting requirements to build wheel ... done Preparing wheel metadata ... done Collecting pyaxidraw@ https://cdn.evilmadscientist.com/dl/ad/public/AxiDraw_API.zip Downloading https://cdn.evilmadscientist.com/dl/ad/public/AxiDraw_API.zip (378 kB) |████████████████████████████████| 378 kB 3.0 MB/s Installing build dependencies ... done Getting requirements to build wheel ... done Installing backend dependencies ... done Preparing wheel metadata ... done WARNING: Generating metadata for package pyaxidraw produced metadata for project name unknown. Fix your #egg=pyaxidraw fragments. WARNING: Discarding https://cdn.evilmadscientist.com/dl/ad/public/AxiDraw_API.zip. Requested unknown from https://cdn.evilmadscientist.com/dl/ad/public/AxiDraw_API.zip (from taxi) has different name in metadata: 'UNKNOWN' Collecting kivy>=2.0.0 Downloading Kivy-2.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (19.1 MB) |████████████████████████████████| 19.1 MB 450 kB/s Collecting vpype>=1.7.0 Downloading https://www.piwheels.org/simple/vpype/vpype-1.13.0-py3-none-any.whl (541 kB) |████████████████████████████████| 541 kB 219 kB/s Requirement already satisfied: Pillow in /usr/lib/python3/dist-packages (from taxi) (8.1.2) Collecting watchgod>=0.7 Downloading https://www.piwheels.org/simple/watchgod/watchgod-0.8.2-py3-none-any.whl (12 kB) Requirement already satisfied: numpy>=1.19 in /usr/lib/python3/dist-packages (from taxi) (1.19.5) WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))': /simple/aiohttp/ Collecting aiohttp Downloading aiohttp-3.8.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB) |████████████████████████████████| 1.1 MB 2.3 MB/s Requirement already satisfied: setuptools in ./taxi-venv/lib/python3.9/site-packages (from taxi) (44.1.1) ERROR: Could not find a version that satisfies the requirement pyaxidraw (unavailable) (from taxi) ERROR: No matching distribution found for pyaxidraw (unavailable)

Will it still work?

abey79 commented 1 year ago

Try installing the axidraw python api manually, as per EMSL's instructions.