Comments (10)
That's really odd! Could you run pipx runpip glasgow freeze
and post the output please?
from glasgow.
Here:
amaranth @ git+https://github.com/amaranth-lang/amaranth.git@0c3ada62503359900f185a9b2d8f122b2d952013
amaranth-yosys==0.25.0.0.post77
appdirs==1.4.4
bitarray==2.8.1
click==8.1.7
colorama==0.4.6
fx2==0.11
-e git+https://github.com/GlasgowEmbedded/glasgow@17b22eafd48a55d5fa95f7f1fa9bddc835d30ad5#egg=glasgow&subdirectory=software
Jinja2==3.1.2
libusb1==3.0.0
MarkupSafe==2.1.3
packaging==23.2
pyvcd==0.4.0
wasmtime==13.0.2
yowasp-nextpnr-ice40==0.6.0.0.post445
yowasp-runtime==1.40
yowasp-yosys==0.33.0.0.post574
from glasgow.
Ah, looks like our software is currently broken on 3.9.
from glasgow.
Which version of python do you recommend?
from glasgow.
We should just fix our software to work on 3.9. Someone will do this (possibly me) whenever available.
from glasgow.
I'm actually quite confused how you end up getting this error considering that we have continuous integration running on 3.9, so this isn't quite trivial to fix. It should already work! No idea why it doesn't.
from glasgow.
Which version of python do you recommend?
@txf- if you want to play before there is a fix, then 3.10 definitely works.
from glasgow.
FWIW I see the same issue running glasgow on FreeBSD, w/ python 3.9.18
File "/usr/home/emaste/src/glasgow/software/glasgow/support/plugin.py", line 71, in all
return {ep.name: cls(ep) for ep in importlib.metadata.entry_points(group=cls.GROUP_NAME)}
TypeError: entry_points() got an unexpected keyword argument 'group'
from glasgow.
On https://docs.python.org/3/library/importlib.metadata.html I see:
Compatibility Note
The “selectable” entry points were introduced in
importlib_metadata
3.6 and Python 3.10. Prior to those changes,entry_points
accepted no parameters and always returned a dictionary of entry points, keyed by group.
from glasgow.
Yep, the proximal cause here is that importlib.metadata.entry_points()
didn't accept arguments until Python 3.10 (f917efc), but Glasgow is assuming this functionality is present.
An expedient fix would be to use the third-party importlib-metadata
, or otherwise write two code paths depending on what Python version the software is running under.
from glasgow.
Related Issues (20)
- Add a flag to `glasgow factory` which indicates that the device has been modified from the original design
- Calling `exit()` from script / REPL does not terminate glasgow HOT 1
- Mention cases (3d-printable as well) in the documentation HOT 2
- glasgow build also has importlib issues with python <3.10
- Add the very nice diagrams from CrowdSupply packaging on the website
- running Glasgow exectutable produces "TypeError: expected string or bytes-like object" in packaging\utils.py HOT 21
- Export BOM for revC3 and add whichever script generates it in the tree
- udev rules on Arch(-ish) systems HOT 7
- Extract test code from each applet to a separate `test.py` file HOT 1
- Python 3.12 is not supported
- Update bitstruct to use Python type annotations
- Documentation: REPL: suggestions for UART example HOT 1
- [RFC draft] New pin management system HOT 1
- Merge queue ignores failing tests and merges PRs anyway
- Reproducible builds for the firmware
- [RFC] Use Nix instead of Docker for reproducible firmware builds HOT 5
- Find a way to enable RAW_IO WinUSB policy when running on Windows
- A CLI command to create a directory tree for a new out of tree applet
- jtag-probe: JEDEC manufacturer lookup fails for bank 15 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from glasgow.