@@ -9,6 +9,16 @@ use crate::path::resolve_project_relative_path;
99static PIP_REQUIREMENTS_FILE : LazyLock < PathBuf > =
1010 LazyLock :: new ( || resolve_project_relative_path ( "scripts/requirements.txt" ) . unwrap ( ) ) ;
1111
12+ static ENTER_VENV_INSTRUCTIONS : LazyLock < String > = LazyLock :: new ( || {
13+ format ! (
14+ r#"
15+ python3 -m venv sequencer_venv
16+ . sequencer_venv/bin/activate
17+ pip install -r {:#?}"# ,
18+ * PIP_REQUIREMENTS_FILE
19+ )
20+ } ) ;
21+
1222/// Verifies that the required Cairo0 compiler is available; panics if unavailable.
1323pub fn verify_cairo0_compiler_deps ( ) {
1424 // Python compiler. Verify correct version.
@@ -17,7 +27,11 @@ pub fn verify_cairo0_compiler_deps() {
1727 let cairo_lang_version_untrimmed = String :: from_utf8 ( cairo_lang_version_output) . unwrap ( ) ;
1828 let cairo_lang_version =
1929 cairo_lang_version_untrimmed. trim ( ) . split ( "==" ) . nth ( 1 ) . unwrap_or_else ( || {
20- panic ! ( "Unexpected cairo-lang version format '{cairo_lang_version_untrimmed}'." )
30+ panic ! (
31+ "Unexpected cairo-lang version format '{cairo_lang_version_untrimmed}'. Are you \
32+ in a venv? If not, run:\n {}",
33+ * ENTER_VENV_INSTRUCTIONS
34+ )
2135 } ) ;
2236 let requirements_contents = fs:: read_to_string ( & * PIP_REQUIREMENTS_FILE ) . unwrap ( ) ;
2337 let expected_cairo_lang_version = requirements_contents
@@ -37,7 +51,8 @@ pub fn verify_cairo0_compiler_deps() {
3751 assert_eq ! (
3852 expected_cairo_lang_version, cairo_lang_version,
3953 "cairo-lang version {expected_cairo_lang_version} not found (installed version: \
40- {cairo_lang_version}). Please run:\n pip3.9 install -r {:?}\n then rerun the test.",
41- * PIP_REQUIREMENTS_FILE
54+ {cairo_lang_version}). Run the following commands (enter a python venv and install \
55+ dependencies) and retry:\n {}",
56+ * ENTER_VENV_INSTRUCTIONS
4257 ) ;
4358}
0 commit comments