Attempting to upgrade console from 22.12.3 to 23.3.1 and receive errors. Running on Windows 10 with VMWare workstation, Pi desktop.
Log is :
############################
# Package would be ignored #
############################
Python recognizes ‘cryptography.hazmat.bindings._rust’ as an importable package[^1],
but it is absent from setuptools’ packages configuration.
This leads to an ambiguous overall configuration. If you want to distribute this
package, please make sure that 'cryptography.hazmat.bindings._rust' is explicitly added
to the `packages` configuration field.
Alternatively, you can also rely on setuptools' discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).
You can read more about "package discovery" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
If you don't want 'cryptography.hazmat.bindings._rust' to be distributed and are
already explicitly excluding 'cryptography.hazmat.bindings._rust' via
`find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
you can try to use `exclude_package_data`, or `include-package-data=False` in
combination with a more fine grained `package-data` configuration.
You can read more about "package data files" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/datafiles.html
[^1]: For Python, any directory (with suitable naming) can be imported,
even if it does not contain any `.py` files.
On the other hand, currently there is no concept of package data
directory, all directories are treated like packages.
********************************************************************************
!!
check.warn(importable)
copying src/cryptography/py.typed -> build/lib.linux-x86_64-cpython-39/cryptography
copying src/cryptography/hazmat/bindings/_openssl.pyi -> build/lib.linux-x86_64-cpython-39/cryptography/hazmat/bindings
creating build/lib.linux-x86_64-cpython-39/cryptography/hazmat/bindings/_rust
copying src/cryptography/hazmat/bindings/_rust/__init__.pyi -> build/lib.linux-x86_64-cpython-39/cryptography/hazmat/bindings/_rust
copying src/cryptography/hazmat/bindings/_rust/asn1.pyi -> build/lib.linux-x86_64-cpython-39/cryptography/hazmat/bindings/_rust
copying src/cryptography/hazmat/bindings/_rust/ocsp.pyi -> build/lib.linux-x86_64-cpython-39/cryptography/hazmat/bindings/_rust
copying src/cryptography/hazmat/bindings/_rust/pkcs7.pyi -> build/lib.linux-x86_64-cpython-39/cryptography/hazmat/bindings/_rust
copying src/cryptography/hazmat/bindings/_rust/x509.pyi -> build/lib.linux-x86_64-cpython-39/cryptography/hazmat/bindings/_rust
running build_ext
running build_rust
=============================DEBUG ASSISTANCE=============================
If you are seeing a compilation error please try the following steps to
successfully install cryptography:
1) Upgrade to the latest pip and try again. This will fix errors for most
users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
2) Read https://cryptography.io/en/latest/installation/ for specific
instructions for your platform.
3) Check our frequently asked questions for more information:
https://cryptography.io/en/latest/faq/
4) Ensure you have a recent Rust toolchain installed:
https://cryptography.io/en/latest/installation/#rust
Python: 3.9.2
platform: Linux-5.10.0-15-amd64-x86_64-with-glibc2.31
pip: n/a
setuptools: 68.0.0
setuptools_rust: 1.6.0
rustc: n/a
=============================DEBUG ASSISTANCE=============================
error: can't find Rust compiler
If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.
To update pip, run:
pip install --upgrade pip
and then retry package installation.
If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain.
This package requires Rust >=1.48.0.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for cryptography
Failed to build cryptography
ERROR: Could not build wheels for cryptography, which is required to install pyproject.toml-based projects
Had a similar error when I last updated.
Thanks for any suggestions.
This is a known python version thing. I’ve seen it a bunch of times. You could install a rust compiler in your VM and wait a ‘long’ time for it to compile stuff under the hood, or you can update your python modules and os to current before trying the app upgrade.
When I originally setup the VMWare it asked which OS and I selected Debian 10.x. Since that time it was upgraded to version 11. I checked for upgrades but nothing came up. I’ll look at the link you sent.
Last time I had a problem, Pete Davis changed the install script and it worked.
The issue in my hazy recollection is the way the os guys have compiled the python modules, but I think the link I posted shows what to install so the piconsole should work. If I get a chance I’ll see if I can find where I reported the same issue elsewhere a while ago.
Basically if you google for " Python recognizes ‘cryptography.hazmat.bindings._rust’ as an importable package[^1], but it is absent from setuptools’ packages configuration" you’ll get pointed in the right direction…
That might not be possible this time. The problem is that the install/update script ties the Cryptography module to a specific version that is compatible with a Pi3 and Pi4. Can you share the preamble printed to the terminal when you start the update. This will tell me how the script is viewing your hardware
As I mentioned above, install the dpkg of the python crypto library and you’ll get around the need to compile your own version (which requires installing the rust compiler and waiting, which is another way to get there)
Hi,
I did run the command command you listed and this was the response:
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
python3-cryptography is already the newest version (3.3.2-1).
The following package was automatically installed and is no longer required:
sse3-support
Use ‘sudo apt autoremove’ to remove it.
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
Sorry, I’m not a Linux guy, so this stuff is above my head. Thanks for your help.