forked from ethereum/execution-spec-tests
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(docs): miscellaneous improvements to troubleshooting, navigation,…
… styling (ethereum#840) * feat(docs): add solc certificate installation issue to troubleshooting * fix(docs): update to new discord channel, el-testing * fix(docs): fix unrecognized code block language spec * fix(docs): add test_actions_locally.md to nav menu * fix(docs): fix existing pytest plugins nav (needs more work) * feat(docs): include gen_test_doc plugin doc in docs.md * feat(docs): describe how to work with EEST packages interactively * fix(docs): update whitelist; fix tox
- Loading branch information
1 parent
22c734a
commit d1f8ae1
Showing
9 changed files
with
127 additions
and
43 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# Working with EEST Libraries Interactively | ||
|
||
You can work with EEST Python packages interactively with `ipython` using: | ||
|
||
```console | ||
uvx --with-editable . ipython | ||
``` | ||
|
||
This command will create a virtual environment, install EEST's packages in "[editable mode](https://setuptools.pypa.io/en/latest/userguide/development_mode.html)" (source changes get reflected in the interactive shell), and start an `ipython` shell. You can then import any of the packages and experiment with them interactively. | ||
|
||
!!! example "Example: Working with `ethereum_test_forks`" | ||
|
||
See which defined forks are "ignored" by default: | ||
|
||
```python | ||
from ethereum_test_forks import forks, get_forks | ||
forks = set([fork for fork in get_forks() if fork.ignore()]) | ||
print(forks) | ||
# -> {MuirGlacier, ArrowGlacier, GrayGlacier} | ||
``` | ||
|
||
## Required `ipython` Configuration | ||
|
||
To enable [autoreload](https://ipython.readthedocs.io/en/stable/config/extensions/autoreload.html) of changed modules in the current `ipython` session, type: | ||
|
||
```python | ||
%load_ext autoreload | ||
%autoreload 2 | ||
``` | ||
|
||
To make this configuration persistent, add/uncomment the following lines to `~/.ipython/profile_default/ipython_config.py`: | ||
|
||
```python | ||
c.InteractiveShellApp.exec_lines = ["%autoreload 2"] | ||
c.InteractiveShellApp.extensions = ["autoreload"] | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,35 +1,74 @@ | ||
# Installation Troubleshooting | ||
|
||
This page provides guidance on how to troubleshoot common issues that may arise when installing the Execution Spec Tests repository. | ||
|
||
## `uv`/`pip` Installation Issues | ||
|
||
### Coincurve Installation | ||
|
||
If you encounter an error when installing the `coincurve` package like the following: | ||
|
||
```bash | ||
Stored in directory: /tmp/... | ||
Building wheel for coincurve (pyproject.toml) ... error | ||
error: subprocess-exited-with-error | ||
|
||
× Building wheel for coincurve (pyproject.toml) did not run successfully. | ||
│ exit code: 1 | ||
╰─> [27 lines of output] | ||
... | ||
571 | #include <secp256k1_extrakeys.h> | ||
| ^~~~~~~~~~~~~~~~~~~~~~~ | ||
compilation terminated. | ||
error: command '/usr/bin/gcc' failed with exit code 1 | ||
[end of output] | ||
|
||
note: This error originates from a subprocess, and is likely not a problem with pip. | ||
ERROR: Failed building wheel for coincurve | ||
``` | ||
|
||
You may need to install the `libsecp256k1` library. On Ubuntu, you can install this library by running the following command: | ||
|
||
```bash | ||
sudo apt update | ||
sudo apt-get install libsecp256k1-dev | ||
``` | ||
This page provides guidance on how to troubleshoot common issues that may arise when installing [ethereum/execution-spec-tests](https://github.com/ethereum/execution-spec-tests). | ||
|
||
## Problem: `Failed building wheel for coincurve` | ||
|
||
!!! danger "Problem: `Failed building wheel for coincurve`" | ||
Installing EEST and its dependencies via `uv sync --all-extras` fails with: | ||
|
||
```bash | ||
Stored in directory: /tmp/... | ||
Building wheel for coincurve (pyproject.toml) ... error | ||
error: subprocess-exited-with-error | ||
× Building wheel for coincurve (pyproject.toml) did not run successfully. | ||
│ exit code: 1 | ||
╰─> [27 lines of output] | ||
... | ||
571 | #include <secp256k1_extrakeys.h> | ||
| ^~~~~~~~~~~~~~~~~~~~~~~ | ||
compilation terminated. | ||
error: command '/usr/bin/gcc' failed with exit code 1 | ||
[end of output] | ||
note: This error originates from a subprocess, and is likely not a problem with pip. | ||
ERROR: Failed building wheel for coincurve | ||
``` | ||
|
||
!!! success "Solution: Install the `libsecp256k1` library" | ||
On Ubuntu, you can install this library with: | ||
|
||
```bash | ||
sudo apt update | ||
sudo apt-get install libsecp256k1-dev | ||
``` | ||
|
||
## Problem: `solc` Installation issues | ||
|
||
!!! danger "Problem: `Failed to install solc ... CERTIFICATE_VERIFY_FAILED`" | ||
When running either `uv run solc-select use 0.8.24 --always-install` or `fill` you encounter the following error: | ||
|
||
```bash | ||
Exit: Failed to install solc version 0.8.24: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:992)> | ||
``` | ||
|
||
=== "Ubuntu" | ||
|
||
!!! success "Solution: Update your system’s CA certificates" | ||
On Ubuntu, run the following commands: | ||
|
||
```bash | ||
sudo apt-get update | ||
sudo apt-get install ca-certificates | ||
``` | ||
|
||
=== "macOS" | ||
|
||
!!! success "Solution: Update your system’s CA certificates" | ||
On macOS, Python provides a built-in script to install the required certificates: | ||
|
||
```bash | ||
/Applications/Python\ 3.11/Install\ Certificates.command | ||
``` | ||
|
||
## Other Issues Not Listed? | ||
|
||
If you're facing an issue that's not listed here, you can easily report it on GitHub for resolution. | ||
|
||
[Click here to report a documentation issue related to installation](https://github.com/ethereum/execution-spec-tests/issues/new?title=docs(bug):%20unable%20to%20install%20eest%20with%20error%20...&labels=scope:docs,type:bug&body=%3Ccopy-paste%20command%20that%20triggered%20the%20issue%20here%3E%0A%3Ccopy-paste%20output%20or%20attach%20screenshot%20here%3E) | ||
|
||
Please include the following details in your report: | ||
|
||
1. The command that triggered the issue. | ||
2. Any relevant error messages or screenshots. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,7 @@ | ||
# Pytest Framework and Customizations | ||
|
||
::: pytest_plugins | ||
|
||
- [Filler Plugin](./filler.md). | ||
- [Forks Plugin](./forks.md). | ||
- [Spec Version Checker Plugin](./spec_version_checker.md). |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters