silkaj issues
https://git.duniter.org/clients/python/silkaj/-/issues
2020-07-02T17:38:21+02:00
https://git.duniter.org/clients/python/silkaj/-/issues/182
Migrate from Pipenv/setup.{py,cfg} to Poetry/pyproject.toml
2020-07-02T17:38:21+02:00
Moul
Migrate from Pipenv/setup.{py,cfg} to Poetry/pyproject.toml
## Problems with Pipenv and `setup.{py,cfg}`
- Pipenv dependency update is updating all packages. There is an option to update just one, but last time I tried it it was broken.
- When updating a dependency, two files needs to me changed:...
## Problems with Pipenv and `setup.{py,cfg}`
- Pipenv dependency update is updating all packages. There is an option to update just one, but last time I tried it it was broken.
- When updating a dependency, two files needs to me changed: one for the dev env `Pipenv.{lock}` and the other for the PyPi distribution `setup.{py,cfg}`. In other words, there is no central file to handle dependencies.
- Dependencies update is very CPU consuming
## Advantages of Poetry and `pyproject.toml`
- Poetry can update one dependency at the time.
- Poetry uses a central file for the dev env and the PyPi distribution.
- Poetry can build and publish to PyPi out of the box. `wheel` and `twine` are hidden under the hood. Nice for CI/CD and new contributors.
- Poetry installs dev dependencies by defaults
- `pyproject.toml` is the standard file format defined by the Python project.
- Easier installation of DuniterPy as a local dependency
## Poetry
- https://github.com/python-poetry/poetry
- https://python-poetry.org/
- [Conference explaining different dependencies manager and Python env (dev env)](https://www.youtube.com/watch?v=pA4XriRWVxQ)
## Plan
- [x] Add documentation for Poetry installation and usage, update `README.md` link
- [x] Add `pyproject.toml` and `poetry.lock` files
- [x] Get rid of Pipenv doc, update `README.md` link
- [x] Get rid of `Pipenv{.lock}` and `setup.py` files
- [x] Update `release.sh`
- [ ] Update documentations: release, tests
---
## Black, Python 3.5 support
- `Black` dependency needs Python 3.6 as a minimal version for the development environment. We want to keep Python 3.5 support.
We want `Black` not to be pre-install `Black` in Poetry for now. It’s a pain in the ass, as a `Black` should be installed separately.
The classifiers are updated (erased) by `python` dependency.
Try to upload to PyPi test and install it in Python 3.5 environment. Not possible to install it Silkaj without Python 3.5 support on a Python 3.5 installation.
- Solution: the black line is commented, and can be uncommented to install `black` on Python version ≥ 3.6 environement.
- [ ] Open ticket to add `Black` as a dependency when dropping Python 3.5.
---
## Other
- ~~#217: Migration to `setup.cfg`~~
- [Dependency manager discussion for DuniterPy](https://git.duniter.org/clients/python/duniterpy/issues/66)
0.8.0
Moul
Moul
https://git.duniter.org/clients/python/silkaj/-/issues/217
Migrate from setup.py to setup.cfg
2019-06-07T10:47:58+02:00
Moul
Migrate from setup.py to setup.cfg
> Cf https://git.duniter.org/clients/python/duniterpy/issues/66
Migrate from `setup.py` to `setup.cfg`.
> Cf https://git.duniter.org/clients/python/duniterpy/issues/66
Migrate from `setup.py` to `setup.cfg`.
0.8.0
https://git.duniter.org/clients/python/silkaj/-/issues/259
attr error while installing with pip, pip installation shouldn’t be 'sudo' pr...
2020-07-02T17:45:49+02:00
matograine
attr error while installing with pip, pip installation shouldn’t be 'sudo' prefixed
error while installing with pip3
```
silkaj
Traceback (most recent call last):
File "/home/thomas/.local/bin/silkaj", line 20, in <module>
from silkaj.cli_tools import cli
File "/home/thomas/.local/lib/python3.7/site-packages/sil...
error while installing with pip3
```
silkaj
Traceback (most recent call last):
File "/home/thomas/.local/bin/silkaj", line 20, in <module>
from silkaj.cli_tools import cli
File "/home/thomas/.local/lib/python3.7/site-packages/silkaj/cli_tools.py", line 22, in <module>
from silkaj.tx import send_transaction
File "/home/thomas/.local/lib/python3.7/site-packages/silkaj/tx.py", line 24, in <module>
from silkaj.network_tools import ClientInstance, HeadBlock
File "/home/thomas/.local/lib/python3.7/site-packages/silkaj/network_tools.py", line 25, in <module>
from duniterpy.api.client import Client
File "/home/thomas/.local/lib/python3.7/site-packages/duniterpy/api/client.py", line 9, in <module>
import jsonschema
File "/home/thomas/.local/lib/python3.7/site-packages/jsonschema/__init__.py", line 12, in <module>
from jsonschema.exceptions import (
File "/home/thomas/.local/lib/python3.7/site-packages/jsonschema/exceptions.py", line 141, in <module>
@attr.s(hash=True)
AttributeError: module 'attr' has no attribute 's'
```
0.8.0
Moul
Moul
https://git.duniter.org/clients/python/silkaj/-/issues/263
Poetry: post migration tasks (black, poetry)
2020-07-02T17:46:26+02:00
Moul
Poetry: post migration tasks (black, poetry)
- [x] Add `black` as a dev dependency. Will be installed in case Python used is ≥ 3.6 in order to keep Py3.5 compatibly.
- Update `CONTRIBUTING.md`.
- [ ] Add minimal Poetry version dependency: Specifying v1 does not prevent v0.12 to b...
- [x] Add `black` as a dev dependency. Will be installed in case Python used is ≥ 3.6 in order to keep Py3.5 compatibly.
- Update `CONTRIBUTING.md`.
- [ ] Add minimal Poetry version dependency: Specifying v1 does not prevent v0.12 to be installed.
0.8.0
Moul
Moul
https://git.duniter.org/clients/python/silkaj/-/issues/268
Necessary to install on Ubuntu
2020-01-20T19:20:16+01:00
Moul
Necessary to install on Ubuntu
Reported by @pokapow during the RML14:
```
python3 -m pip install wheel --user --pre
PATH=$PATH:~/.local/bin/
```
@pokapow, Could you precise which installation process (pip, poetry)?
I assume this is through `pip`.
I am wondering why ...
Reported by @pokapow during the RML14:
```
python3 -m pip install wheel --user --pre
PATH=$PATH:~/.local/bin/
```
@pokapow, Could you precise which installation process (pip, poetry)?
I assume this is through `pip`.
I am wondering why `wheel` is required to install Silkaj through `pip`. Is `python3-wheel` not a requirement of `python3-pip` package on Ubuntu?
This is the case for every [Debian](https://packages.debian.org/search?suite=default§ion=all&arch=any&searchon=names&keywords=python3-pip) and [Ubuntu](https://packages.ubuntu.com/search?keywords=python3-pip).
Or, is it a requirement to install Poetry?
0.8.0
https://git.duniter.org/clients/python/silkaj/-/issues/275
Missing wheel package
2020-02-22T01:35:41+01:00
Fred
Missing wheel package
fred@ONELOVE:~$ sudo pip3 uninstall silkaj
```
The directory '/home/fred/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory....
fred@ONELOVE:~$ sudo pip3 uninstall silkaj
```
The directory '/home/fred/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Uninstalling silkaj-0.7.4:
/usr/local/lib/python3.6/dist-packages/silkaj-0.7.4.dist-info/INSTALLER
/usr/local/lib/python3.6/dist-packages/silkaj-0.7.4.dist-info/LICENSE
/usr/local/lib/python3.6/dist-packages/silkaj-0.7.4.dist-info/METADATA
/usr/local/lib/python3.6/dist-packages/silkaj-0.7.4.dist-info/RECORD
/usr/local/lib/python3.6/dist-packages/silkaj-0.7.4.dist-info/WHEEL
/usr/local/lib/python3.6/dist-packages/silkaj/__init__.py
/usr/local/lib/python3.6/dist-packages/silkaj/__pycache__/__init__.cpython-36.pyc
/usr/local/lib/python3.6/dist-packages/silkaj/__pycache__/auth.cpython-36.pyc
/usr/local/lib/python3.6/dist-packages/silkaj/__pycache__/blockchain_tools.cpython-36.pyc
/usr/local/lib/python3.6/dist-packages/silkaj/__pycache__/cert.cpython-36.pyc
/usr/local/lib/python3.6/dist-packages/silkaj/__pycache__/cli_tools.cpython-36.pyc
/usr/local/lib/python3.6/dist-packages/silkaj/__pycache__/commands.cpython-36.pyc
/usr/local/lib/python3.6/dist-packages/silkaj/__pycache__/constants.cpython-36.pyc
/usr/local/lib/python3.6/dist-packages/silkaj/__pycache__/crypto_tools.cpython-36.pyc
/usr/local/lib/python3.6/dist-packages/silkaj/__pycache__/license.cpython-36.pyc
/usr/local/lib/python3.6/dist-packages/silkaj/__pycache__/money.cpython-36.pyc
/usr/local/lib/python3.6/dist-packages/silkaj/__pycache__/network_tools.cpython-36.pyc
/usr/local/lib/python3.6/dist-packages/silkaj/__pycache__/tools.cpython-36.pyc
/usr/local/lib/python3.6/dist-packages/silkaj/__pycache__/tx.cpython-36.pyc
/usr/local/lib/python3.6/dist-packages/silkaj/__pycache__/tx_history.cpython-36.pyc
/usr/local/lib/python3.6/dist-packages/silkaj/__pycache__/wot.cpython-36.pyc
/usr/local/lib/python3.6/dist-packages/silkaj/auth.py
/usr/local/lib/python3.6/dist-packages/silkaj/blockchain_tools.py
/usr/local/lib/python3.6/dist-packages/silkaj/cert.py
/usr/local/lib/python3.6/dist-packages/silkaj/cli_tools.py
/usr/local/lib/python3.6/dist-packages/silkaj/commands.py
/usr/local/lib/python3.6/dist-packages/silkaj/constants.py
/usr/local/lib/python3.6/dist-packages/silkaj/crypto_tools.py
/usr/local/lib/python3.6/dist-packages/silkaj/license.py
/usr/local/lib/python3.6/dist-packages/silkaj/money.py
/usr/local/lib/python3.6/dist-packages/silkaj/network_tools.py
/usr/local/lib/python3.6/dist-packages/silkaj/tools.py
/usr/local/lib/python3.6/dist-packages/silkaj/tx.py
/usr/local/lib/python3.6/dist-packages/silkaj/tx_history.py
/usr/local/lib/python3.6/dist-packages/silkaj/wot.py
Proceed (y/n)? y
Successfully uninstalled silkaj-0.7.4
```
fred@ONELOVE:~$ pip3 install silkaj --user
```
Collecting silkaj
Downloading https://files.pythonhosted.org/packages/54/5f/14149325e60a5f26e7db6569b458f1d3a6733a988a2855ce3bcdddab9e4f/silkaj-0.7.4-py3-none-any.whl (43kB)
100% |████████████████████████████████| 51kB 1.2MB/s
Collecting ipaddress<2.0,>=1.0 (from silkaj)
Using cached https://files.pythonhosted.org/packages/c2/f8/49697181b1651d8347d24c095ce46c7346c37335ddc7d255833e7cde674d/ipaddress-1.0.23-py2.py3-none-any.whl
Collecting click<8.0,>=7.0 (from silkaj)
Using cached https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl
Collecting texttable<2.0,>=1.6 (from silkaj)
Using cached https://files.pythonhosted.org/packages/ec/b1/8a1c659ce288bf771d5b1c7cae318ada466f73bd0e16df8d86f27a2a3ee7/texttable-1.6.2-py2.py3-none-any.whl
Collecting duniterpy<0.55.0,>=0.54.3 (from silkaj)
Using cached https://files.pythonhosted.org/packages/3d/e2/7571d37ee59f22efbe3ac32f93f8761bc5f82d389a4a43996ed7406e4910/duniterpy-0.54.3-py3-none-any.whl
Collecting PyNaCl<2.0,>=1.3 (from silkaj)
Using cached https://files.pythonhosted.org/packages/27/15/2cd0a203f318c2240b42cd9dd13c931ddd61067809fee3479f44f086103e/PyNaCl-1.3.0-cp34-abi3-manylinux1_x86_64.whl
Collecting tabulate<0.9.0,>=0.8.3 (from silkaj)
Using cached https://files.pythonhosted.org/packages/c4/41/523f6a05e6dc3329a5660f6a81254c6cd87e5cfb5b7482bae3391d86ec3a/tabulate-0.8.6.tar.gz
Collecting base58>=1.0.0 (from duniterpy<0.55.0,>=0.54.3->silkaj)
Downloading https://files.pythonhosted.org/packages/ac/03/52b4d529a1ba2f006be395a1b9ff6e1ab83875b84e1dc67343362edaff05/base58-2.0.0-py3-none-any.whl
Collecting pyaes>=1.6.1 (from duniterpy<0.55.0,>=0.54.3->silkaj)
Downloading https://files.pythonhosted.org/packages/44/66/2c17bae31c906613795711fc78045c285048168919ace2220daa372c7d72/pyaes-1.6.1.tar.gz
Collecting libnacl>=1.6.1 (from duniterpy<0.55.0,>=0.54.3->silkaj)
Downloading https://files.pythonhosted.org/packages/08/51/02fde6692edf1b3fcb1520de8ef1dbe9306157ad7e86a3c36882a5f30c67/libnacl-1.7.1-py2.py3-none-any.whl
Collecting pypeg2>=2.15.2 (from duniterpy<0.55.0,>=0.54.3->silkaj)
Downloading https://files.pythonhosted.org/packages/f9/bd/10398e2c2d2070cc8a9c7153abfbd4ddb2895a2c52a32722ab8689e0cc7d/pyPEG2-2.15.2.tar.gz (40kB)
100% |████████████████████████████████| 40kB 3.1MB/s
Collecting jsonschema>=2.6.0 (from duniterpy<0.55.0,>=0.54.3->silkaj)
Downloading https://files.pythonhosted.org/packages/c5/8f/51e89ce52a085483359217bc72cdbf6e75ee595d5b1d4b5ade40c7e018b8/jsonschema-3.2.0-py2.py3-none-any.whl (56kB)
100% |████████████████████████████████| 61kB 6.5MB/s
Collecting aiohttp>=3.3.2 (from duniterpy<0.55.0,>=0.54.3->silkaj)
Downloading https://files.pythonhosted.org/packages/7c/39/7eb5f98d24904e0f6d3edb505d4aa60e3ef83c0a58d6fe18244a51757247/aiohttp-3.6.2-cp36-cp36m-manylinux1_x86_64.whl (1.2MB)
100% |████████████████████████████████| 1.2MB 1.1MB/s
Collecting attr>=0.3.1 (from duniterpy<0.55.0,>=0.54.3->silkaj)
Downloading https://files.pythonhosted.org/packages/de/be/ddc7f84d4e087144472a38a373d3e319f51a6faf6e5fc1ae897173675f21/attr-0.3.1.tar.gz
Collecting pylibscrypt>=1.7.1 (from duniterpy<0.55.0,>=0.54.3->silkaj)
Downloading https://files.pythonhosted.org/packages/a5/00/9975628999c9eafd4c31545900b8fb82e7dc11a62a7193fc4ffa7a5096d9/pylibscrypt-1.8.0.tar.gz
Collecting cffi>=1.4.1 (from PyNaCl<2.0,>=1.3->silkaj)
Downloading https://files.pythonhosted.org/packages/49/72/0d42f94fe94afa8030350c26e9d787219f3f008ec9bf6b86c66532b29236/cffi-1.13.2-cp36-cp36m-manylinux1_x86_64.whl (397kB)
100% |████████████████████████████████| 399kB 2.8MB/s
Collecting six (from PyNaCl<2.0,>=1.3->silkaj)
Downloading https://files.pythonhosted.org/packages/65/eb/1f97cb97bfc2390a276969c6fae16075da282f5058082d4cb10c6c5c1dba/six-1.14.0-py2.py3-none-any.whl
Collecting setuptools (from jsonschema>=2.6.0->duniterpy<0.55.0,>=0.54.3->silkaj)
Downloading https://files.pythonhosted.org/packages/a7/c5/6c1acea1b4ea88b86b03280f3fde1efa04fefecd4e7d2af13e602661cde4/setuptools-45.1.0-py3-none-any.whl (583kB)
100% |████████████████████████████████| 593kB 1.4MB/s
Collecting importlib-metadata; python_version < "3.8" (from jsonschema>=2.6.0->duniterpy<0.55.0,>=0.54.3->silkaj)
Downloading https://files.pythonhosted.org/packages/d7/31/74dcb59a601b95fce3b0334e8fc9db758f78e43075f22aeb3677dfb19f4c/importlib_metadata-1.4.0-py2.py3-none-any.whl
Collecting pyrsistent>=0.14.0 (from jsonschema>=2.6.0->duniterpy<0.55.0,>=0.54.3->silkaj)
Downloading https://files.pythonhosted.org/packages/90/aa/cdcf7ef88cc0f831b6f14c8c57318824c9de9913fe8de38e46a98c069a35/pyrsistent-0.15.7.tar.gz (107kB)
100% |████████████████████████████████| 112kB 5.3MB/s
Collecting attrs>=17.4.0 (from jsonschema>=2.6.0->duniterpy<0.55.0,>=0.54.3->silkaj)
Downloading https://files.pythonhosted.org/packages/a2/db/4313ab3be961f7a763066401fb77f7748373b6094076ae2bda2806988af6/attrs-19.3.0-py2.py3-none-any.whl
Collecting idna-ssl>=1.0; python_version < "3.7" (from aiohttp>=3.3.2->duniterpy<0.55.0,>=0.54.3->silkaj)
Downloading https://files.pythonhosted.org/packages/46/03/07c4894aae38b0de52b52586b24bf189bb83e4ddabfe2e2c8f2419eec6f4/idna-ssl-1.1.0.tar.gz
Collecting typing-extensions>=3.6.5; python_version < "3.7" (from aiohttp>=3.3.2->duniterpy<0.55.0,>=0.54.3->silkaj)
Downloading https://files.pythonhosted.org/packages/03/92/705fe8aca27678e01bbdd7738173b8e7df0088a2202c80352f664630d638/typing_extensions-3.7.4.1-py3-none-any.whl
Collecting async-timeout<4.0,>=3.0 (from aiohttp>=3.3.2->duniterpy<0.55.0,>=0.54.3->silkaj)
Downloading https://files.pythonhosted.org/packages/e1/1e/5a4441be21b0726c4464f3f23c8b19628372f606755a9d2e46c187e65ec4/async_timeout-3.0.1-py3-none-any.whl
Collecting chardet<4.0,>=2.0 (from aiohttp>=3.3.2->duniterpy<0.55.0,>=0.54.3->silkaj)
Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB)
100% |████████████████████████████████| 143kB 4.6MB/s
Collecting multidict<5.0,>=4.5 (from aiohttp>=3.3.2->duniterpy<0.55.0,>=0.54.3->silkaj)
Downloading https://files.pythonhosted.org/packages/06/5a/d423c846bb839105143d4cd90da19d0f3fc972c51be651f92ac419a20698/multidict-4.7.4-cp36-cp36m-manylinux1_x86_64.whl (147kB)
100% |████████████████████████████████| 153kB 4.6MB/s
Collecting yarl<2.0,>=1.0 (from aiohttp>=3.3.2->duniterpy<0.55.0,>=0.54.3->silkaj)
Downloading https://files.pythonhosted.org/packages/95/8f/0209fc5d975f839344c33c822ff2f7ef80f6b1e984673a5a68f960bfa583/yarl-1.4.2-cp36-cp36m-manylinux1_x86_64.whl (252kB)
100% |████████████████████████████████| 256kB 2.1MB/s
Collecting pycparser (from cffi>=1.4.1->PyNaCl<2.0,>=1.3->silkaj)
Downloading https://files.pythonhosted.org/packages/68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a/pycparser-2.19.tar.gz (158kB)
100% |████████████████████████████████| 163kB 4.1MB/s
Collecting zipp>=0.5 (from importlib-metadata; python_version < "3.8"->jsonschema>=2.6.0->duniterpy<0.55.0,>=0.54.3->silkaj)
Downloading https://files.pythonhosted.org/packages/45/d8/f1e05f399573d2b4723dae1c1f1487dd2e7871c79ed32da741f49faaa226/zipp-2.0.0-py3-none-any.whl
Collecting idna>=2.0 (from idna-ssl>=1.0; python_version < "3.7"->aiohttp>=3.3.2->duniterpy<0.55.0,>=0.54.3->silkaj)
Downloading https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl (58kB)
100% |████████████████████████████████| 61kB 5.1MB/s
Collecting more-itertools (from zipp>=0.5->importlib-metadata; python_version < "3.8"->jsonschema>=2.6.0->duniterpy<0.55.0,>=0.54.3->silkaj)
Downloading https://files.pythonhosted.org/packages/bc/e2/3206a70758a21f9878fcf9478282bb68fbc66a5564718f9ed724c3f2bb52/more_itertools-8.1.0-py3-none-any.whl (41kB)
100% |████████████████████████████████| 51kB 6.9MB/s
Building wheels for collected packages: tabulate, pyaes, pypeg2, attr, pylibscrypt, pyrsistent, idna-ssl, pycparser
Running setup.py bdist_wheel for tabulate ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-lip0u9ic/tabulate/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpasc9eg95pip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for tabulate
Running setup.py clean for tabulate
Running setup.py bdist_wheel for pyaes ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-lip0u9ic/pyaes/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpsbirvjippip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for pyaes
Running setup.py clean for pyaes
Running setup.py bdist_wheel for pypeg2 ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-lip0u9ic/pypeg2/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpwjjx1hbepip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for pypeg2
Running setup.py clean for pypeg2
Running setup.py bdist_wheel for attr ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-lip0u9ic/attr/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpxluezl46pip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for attr
Running setup.py clean for attr
Running setup.py bdist_wheel for pylibscrypt ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-lip0u9ic/pylibscrypt/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmptp54inz2pip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for pylibscrypt
Running setup.py clean for pylibscrypt
Running setup.py bdist_wheel for pyrsistent ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-lip0u9ic/pyrsistent/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpxlm340k8pip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for pyrsistent
Running setup.py clean for pyrsistent
Running setup.py bdist_wheel for idna-ssl ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-lip0u9ic/idna-ssl/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpf7vi29olpip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for idna-ssl
Running setup.py clean for idna-ssl
Running setup.py bdist_wheel for pycparser ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-lip0u9ic/pycparser/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpcw7s07ihpip-wheel- --python-tag cp36:
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
Failed building wheel for pycparser
Running setup.py clean for pycparser
Failed to build tabulate pyaes pypeg2 attr pylibscrypt pyrsistent idna-ssl pycparser
Installing collected packages: ipaddress, click, texttable, base58, pyaes, libnacl, pypeg2, setuptools, more-itertools, zipp, importlib-metadata, six, pyrsistent, attrs, jsonschema, idna, idna-ssl, typing-extensions, async-timeout, chardet, multidict, yarl, aiohttp, attr, pylibscrypt, duniterpy, pycparser, cffi, PyNaCl, tabulate, silkaj
Running setup.py install for pyaes ... done
Running setup.py install for pypeg2 ... done
Running setup.py install for pyrsistent ... done
Running setup.py install for idna-ssl ... done
Running setup.py install for attr ... done
Running setup.py install for pylibscrypt ... done
Running setup.py install for pycparser ... done
Running setup.py install for tabulate ... done
Successfully installed PyNaCl-1.3.0 aiohttp-3.6.2 async-timeout-3.0.1 attr-0.3.1 attrs-19.3.0 base58-2.0.0 cffi-1.13.2 chardet-3.0.4 click-7.0 duniterpy-0.54.3 idna-2.8 idna-ssl-1.1.0 importlib-metadata-1.4.0 ipaddress-1.0.23 jsonschema-3.2.0 libnacl-1.7.1 more-itertools-8.1.0 multidict-4.7.4 pyaes-1.6.1 pycparser-2.19 pylibscrypt-1.8.0 pypeg2-2.15.2 pyrsistent-0.15.7 setuptools-45.1.0 silkaj-0.7.4 six-1.14.0 tabulate-0.8.6 texttable-1.6.2 typing-extensions-3.7.4.1 yarl-1.4.2 zipp-2.0.0
```
fred@ONELOVE:~$ whereis silkaj
```
silkaj:
```
SYSTEM
```
Linux ONELOVE 5.0.0-32-generic #34~18.04.2-Ubuntu SMP Thu Oct 10 10:36:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
NAME="Linux Mint"
VERSION="19.3 (Tricia)"
ID=linuxmint
ID_LIKE=ubuntu
PRETTY_NAME="Linux Mint 19.3"
VERSION_ID="19.3"
HOME_URL="https://www.linuxmint.com/"
SUPPORT_URL="https://forums.ubuntu.com/"
BUG_REPORT_URL="http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/"
PRIVACY_POLICY_URL="https://www.linuxmint.com/"
VERSION_CODENAME=tricia
UBUNTU_CODENAME=bionic
```
0.8.0
https://git.duniter.org/clients/python/silkaj/-/issues/276
Poetry: v0.7.4: pip did not install silkaj executalbe into $HOME/.local/bin
2020-01-28T20:12:38+01:00
matograine
Poetry: v0.7.4: pip did not install silkaj executalbe into $HOME/.local/bin
pip install for v0.7.4 does not create an executable in ~/.local/bin. see [forum](https://forum.duniter.org/t/duniter-silkaj-duniterpy-scuttlebot-comment-partager-les-clefs-de-chiffrage-des-crypto-applications/6775/58).
While investigat...
pip install for v0.7.4 does not create an executable in ~/.local/bin. see [forum](https://forum.duniter.org/t/duniter-silkaj-duniterpy-scuttlebot-comment-partager-les-clefs-de-chiffrage-des-crypto-applications/6775/58).
While investigating, I saw that the setup.py had not been updated,it is still in v0.7.3. The release.sh script does not update setup.py.
I guess this might have caused a wrong Pypi build, I am not sure of it though.
0.8.0
Moul
Moul
https://git.duniter.org/clients/python/silkaj/-/issues/317
Raspberry Pi 4 install failing: #include <Python.h> − python3-dev
2020-06-14T21:01:41+02:00
Fred
Raspberry Pi 4 install failing: #include <Python.h> − python3-dev
```
sudo apt install libffi-dev build-essential qrencode jq bc gawk
sudo apt install python3-pip python3-setuptools python3-wheel -y
pip3 install base58
pip3 install silkaj --user
Collecting silkaj
Using cached silkaj-0.7.6-py3-no...
```
sudo apt install libffi-dev build-essential qrencode jq bc gawk
sudo apt install python3-pip python3-setuptools python3-wheel -y
pip3 install base58
pip3 install silkaj --user
Collecting silkaj
Using cached silkaj-0.7.6-py3-none-any.whl (44 kB)
Collecting texttable
Using cached texttable-1.6.2-py2.py3-none-any.whl (10 kB)
Collecting Click
Using cached click-7.1.2-py2.py3-none-any.whl (82 kB)
Collecting tabulate
Using cached tabulate-0.8.7-py3-none-any.whl (24 kB)
Collecting duniterpy==0.55.1
Using cached duniterpy-0.55.1-py3-none-any.whl (70 kB)
Collecting pynacl
Using cached PyNaCl-1.3.0.tar.gz (3.4 MB)
Installing build dependencies ... error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 /home/xbian/.local/lib/python3.7/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-n7_l90p6/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel 'cffi>=1.4.1; python_implementation != '"'"'PyPy'"'"''
cwd: None
Complete output (100 lines):
Collecting setuptools
Using cached setuptools-46.4.0-py3-none-any.whl (583 kB)
Collecting wheel
Using cached wheel-0.34.2-py2.py3-none-any.whl (26 kB)
Collecting cffi>=1.4.1
Using cached cffi-1.14.0.tar.gz (463 kB)
Collecting pycparser
Using cached pycparser-2.20-py2.py3-none-any.whl (112 kB)
Building wheels for collected packages: cffi
Building wheel for cffi (setup.py): started
Building wheel for cffi (setup.py): finished with status 'error'
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-qvgbt_2z/cffi/setup.py'"'"'; __file__='"'"'/tmp/pip-install-qvgbt_2z/cffi/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-in2uj8s4
cwd: /tmp/pip-install-qvgbt_2z/cffi/
Complete output (36 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-armv7l-3.7
creating build/lib.linux-armv7l-3.7/cffi
copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/model.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/commontypes.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/error.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/cparser.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/api.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/lock.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/__init__.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/verifier.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/recompiler.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.7/cffi
copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.7/cffi
copying cffi/_embedding.h -> build/lib.linux-armv7l-3.7/cffi
copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.7/cffi
running build_ext
building '_cffi_backend' extension
creating build/temp.linux-armv7l-3.7
creating build/temp.linux-armv7l-3.7/c
arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python3.7m -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.7/c/_cffi_backend.o
c/_cffi_backend.c:2:10: fatal error: Python.h: No such file or directory
#include <Python.h>
^~~~~~~~~~
compilation terminated.
error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
----------------------------------------
ERROR: Failed building wheel for cffi
Running setup.py clean for cffi
Failed to build cffi
Installing collected packages: setuptools, wheel, pycparser, cffi
Running setup.py install for cffi: started
Running setup.py install for cffi: finished with status 'error'
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-qvgbt_2z/cffi/setup.py'"'"'; __file__='"'"'/tmp/pip-install-qvgbt_2z/cffi/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-yfv7bcoj/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-n7_l90p6/overlay --compile --install-headers /tmp/pip-build-env-n7_l90p6/overlay/include/python3.7m/cffi
cwd: /tmp/pip-install-qvgbt_2z/cffi/
Complete output (36 lines):
running install
running build
running build_py
creating build
creating build/lib.linux-armv7l-3.7
creating build/lib.linux-armv7l-3.7/cffi
copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/model.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/commontypes.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/error.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/cparser.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/api.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/lock.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/__init__.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/verifier.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/recompiler.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.7/cffi
copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.7/cffi
copying cffi/_embedding.h -> build/lib.linux-armv7l-3.7/cffi
copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.7/cffi
running build_ext
building '_cffi_backend' extension
creating build/temp.linux-armv7l-3.7
creating build/temp.linux-armv7l-3.7/c
arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python3.7m -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.7/c/_cffi_backend.o
c/_cffi_backend.c:2:10: fatal error: Python.h: No such file or directory
#include <Python.h>
^~~~~~~~~~
compilation terminated.
error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-qvgbt_2z/cffi/setup.py'"'"'; __file__='"'"'/tmp/pip-install-qvgbt_2z/cffi/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-yfv7bcoj/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-n7_l90p6/overlay --compile --install-headers /tmp/pip-build-env-n7_l90p6/overlay/include/python3.7m/cffi Check the logs for full command output.
----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python3 /home/xbian/.local/lib/python3.7/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-n7_l90p6/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel 'cffi>=1.4.1; python_implementation != '"'"'PyPy'"'"'' Check the logs for full command output.
```
0.8.0
Moul
Moul
https://git.duniter.org/clients/python/silkaj/-/issues/322
Test installation on a fresh install: #include <ffi.h> − libffi-dev
2020-06-14T21:01:40+02:00
matograine
Test installation on a fresh install: #include <ffi.h> − libffi-dev
I am installing the `dev` branch on a fresh ARMbian install, and I get missing dependency issues when running `pip3 install poetry --user`
```
Building wheels for collected packages: cffi
Running setup.py bdist_wheel for cffi: st...
I am installing the `dev` branch on a fresh ARMbian install, and I get missing dependency issues when running `pip3 install poetry --user`
```
Building wheels for collected packages: cffi
Running setup.py bdist_wheel for cffi: started
Running setup.py bdist_wheel for cffi: finished with status 'error'
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-turuefzq/cffi/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-ztc9qt_p --python-tag cp37:
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-armv7l-3.7
creating build/lib.linux-armv7l-3.7/cffi
copying cffi/recompiler.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/verifier.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/__init__.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/lock.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/api.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/cparser.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/error.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/commontypes.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/model.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.7/cffi
copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.7/cffi
copying cffi/_embedding.h -> build/lib.linux-armv7l-3.7/cffi
copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.7/cffi
running build_ext
building '_cffi_backend' extension
creating build/temp.linux-armv7l-3.7
creating build/temp.linux-armv7l-3.7/c
arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python3.7m -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.7/c/_cffi_backend.o
c/_cffi_backend.c:15:10: fatal error: ffi.h: No such file or directory
#include <ffi.h>
^~~~~~~
compilation terminated.
error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
----------------------------------------
Failed building wheel for cffi
Running setup.py clean for cffi
Failed to build cffi
Installing collected packages: setuptools, wheel, pycparser, cffi
Running setup.py install for cffi: started
Running setup.py install for cffi: finished with status 'error'
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-turuefzq/cffi/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-fvwsw88p/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-77uy55k_ --compile:
running install
running build
running build_py
creating build
creating build/lib.linux-armv7l-3.7
creating build/lib.linux-armv7l-3.7/cffi
copying cffi/recompiler.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/verifier.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/__init__.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/lock.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/api.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/cparser.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/error.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/commontypes.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/model.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.7/cffi
copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.7/cffi
copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.7/cffi
copying cffi/_embedding.h -> build/lib.linux-armv7l-3.7/cffi
copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.7/cffi
running build_ext
building '_cffi_backend' extension
creating build/temp.linux-armv7l-3.7
creating build/temp.linux-armv7l-3.7/c
arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python3.7m -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.7/c/_cffi_backend.o
c/_cffi_backend.c:15:10: fatal error: ffi.h: No such file or directory
#include <ffi.h>
^~~~~~~
compilation terminated.
error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
----------------------------------------
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-turuefzq/cffi/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-fvwsw88p/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-77uy55k_ --compile" failed with error code 1 in /tmp/pip-install-turuefzq/cffi/
----------------------------------------
Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-77uy55k_ --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=40.6.0 wheel "cffi>=1.8,!=1.11.3; platform_python_implementation != 'PyPy'"" failed with error code 1 in None
```
0.8.0
Moul
Moul