From ee21831bb703a908cfd74904dd1f16779308b348 Mon Sep 17 00:00:00 2001 From: Paul Romer Date: Wed, 22 Oct 2025 11:05:23 -0400 Subject: [PATCH] specify for both platforms --- .gitignore | 4 ++- .jupyter/data/nbsignatures.db | Bin 24576 -> 0 bytes .../auto-0-1753.jupyterlab-workspace | 1 - .../auto-d-ab05.jupyterlab-workspace | 1 - .../auto-e-23e3.jupyterlab-workspace | 1 - .../auto-f-4f86.jupyterlab-workspace | 1 - .../auto-i-81a0.jupyterlab-workspace | 1 - .../auto-l-8fe7.jupyterlab-workspace | 1 - .../auto-q-549e.jupyterlab-workspace | 1 - .../default-37a8.jupyterlab-workspace | 1 - Files/Using_pylock.ipynb | 2 +- Files/test_imports.ipynb | 10 +++---- s.sh | 28 ++++++++++++++---- t.sh | 13 +++++++- 14 files changed, 44 insertions(+), 21 deletions(-) delete mode 100644 .jupyter/data/nbsignatures.db delete mode 100644 .jupyter/lab/workspaces/auto-0-1753.jupyterlab-workspace delete mode 100644 .jupyter/lab/workspaces/auto-d-ab05.jupyterlab-workspace delete mode 100644 .jupyter/lab/workspaces/auto-e-23e3.jupyterlab-workspace delete mode 100644 .jupyter/lab/workspaces/auto-f-4f86.jupyterlab-workspace delete mode 100644 .jupyter/lab/workspaces/auto-i-81a0.jupyterlab-workspace delete mode 100644 .jupyter/lab/workspaces/auto-l-8fe7.jupyterlab-workspace delete mode 100644 .jupyter/lab/workspaces/auto-q-549e.jupyterlab-workspace delete mode 100644 .jupyter/lab/workspaces/default-37a8.jupyterlab-workspace diff --git a/.gitignore b/.gitignore index 560b5fe..8ebfaa7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ .ipynb_checkpoints .venv - +.jupyter/data +.virtual_documents +.jupyter/lab/workspaces diff --git a/.jupyter/data/nbsignatures.db b/.jupyter/data/nbsignatures.db deleted file mode 100644 index eb6bb3fceca6b10c5fd9719b3c621e712ea8c936..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24576 zcmeHPNsL@q747QL-R{8|9mff&Bz9uUN%8KRU$MarfZP3M~bzj1K% z%Hb2k`CHF#4O<^CEU%xuaAENBkq_7M&DXDCqxyxL`SmyQ^|<)u$`o?{;!~F|4Hv%m z+;xALpTIlMe|>MTaq{fh!8iQGX8U^DpD%Z;wO{F6-?`3L&4nMN;lcHzd^O(~zVOmB z&s}`!<>9lJULIcj?Edr5T!GQ&E?wDw;(hO$Gci2MZyvq>^*KEs@cL{1=#>w6>6*WJ z1kUpH;nBfizIo&iU+ci1UxVfbd+#>NTi<(k_vxKK@09I-ZGUU~)bXDj|Jc?awm!f4 z_U2bNPaOO4F~0Gejs5k1tbcKRW9VQD z56^5YoqB6$>A9P)c&>ERLS*I*lfgO_BacC6;l1=MvaGXKvBbbbA*H!blILi(bxFpQ zsT9K*S5FdqlK4L7W3pqxMox2O?FGihj2%AOfg|gUWTb-Nz68y@GS+etnJ`K@m9(`< z8=II&fy-!%F`N>aoT5!O@&!0ER&1mc!>=jaBON%6Wht`B5an!B$qleES!JhmA*Wcf zipY4Qm6wH^fKLsVMnx_I*4vcMjONU6mHmo6FL?hqf^{P3Rp&w@LaKiR8-c) zXsnaE=)$C87R+ZAi7^WTMBqBl;27U0GZtn{G-|$cPUb@$IH!~2HtWD79OtP-PpT-Z zm`+hb43eBA0mWDgw=yZXwhC@E%94<*4X4HuWXchP9}G=b_mK`<%v>_Tqe?MSf;PzU zkb`lMB~vPgq-7E=DlSaI|8nA>5}x)kBxUph9K;DY?VMy&xCc9MnGD`kqL3oR9E7zF z(!&Cn6^SVWe{u~KX(tWmib)4P1y9N+V<4slI5vR;QASVU9_Yd)=v)xb3bCiS_gW(! zv~h&bgD9*NtV{;PnRebfXIWOIBmBvHLCdz2EfcLtq6M9TyN!U;{M8Ty}-bP0WRFEi0K};5i$GOGTK`MaL99J?W^Hc{eNuLneMkddTb1_8G z2vTvLje&KU5r8ffBXcg!8o?06KEuL3-s35A?Ag}bi<=PX=Pny}L>u^>{> z8sWxdLcY|bLyj^t@=ixyLL=+Cqw+QW-30fhnY>r$os9IWw_+z;22sVuH!C1){&9llaI1Z_Z5h4^6OyTbBz{O&9 zfYYrN*>R3cQ4)LxAtRMA2Ok8Fg-EWYVEh6_ux$f%tL@HKk%VvRaPX|uH zvcxZ_J^>LD^vKy#@tjmN2A5)l<6b~5CcCJEfoHjakim;2zW_Ip3Mz_~GvD3afwMM9 z3vm-ekRy{ziKx=Jh%789Ljb|C3fMM8yvS2X%)6xFROAlSzmD&kk|#z6nL^EccUK24 zB1IvBuowe}QN{`xQZL90Iuv1IKnO{QDF%ut6v{+z;ORnZ_x zSrXgpz**@t)R0g^v(qk0gBqtYsEkeCa16B~W@iu)8do4GI_JG<0$h@%g{(posc5aZ zoiz`;9XQTh@(5~gwMO<-hO$Rv1btfWqs|G7$xx6n#5kA9XtW`Xmys2U#W!`7NfW8S zkhC-3?R4OTPMHTJNR$Pu5ostmoGD_)mMq~O1!V+pCERHh^eCyxo``X*012)O$0kw% z!`g~zR@v^rg^0qHkT7MGmLbKXf*OWq1uG>Hb7C500_`XXk>FEe0#f+td6(s~k(@4Tm5CuAEFN&ZfWd=pk3S0%s6w0+L zWD6}QlTDSu9)B&lyd}|MdO5c z!#;r_ow~pTDiXE^=nt`FVDGJt_K`3Fr{svE^3IdkS_cj-y0BRg#fWABfvqGuOvbI1 zoFGrMk|;e2nHh~sb{cL!vH)~U9K9xC?YLxYe6;XrJR_nnqv@TmuCpZ(D6msyE_dJxl3x@d%g9J3 z(%zA8DiSV28|`&wj!FUr=xI>&pj?%?cL;ez0E9G$n~>RTN!&<6!Sg-BpaX}BP?`-L z+6Kfs(vy+MPA&@sUejbcZ1|e;T|BlX1UcEJnGukT^a#qiRHmC{YRaonxEyr>TlKXw z&Ds25@9ic0t{;_w%0OkHGEf<)3{(ax1C@cwKxLpZP#LHU+!hR+7_6KfwC5SlZDC#K zR^D0KyMOIV$A7=^w__h&_uKdFer@w-tKVJw?eVYd{c87*oB!VW{?0$wf4cqOW53(} z#p+*IKe_Y6?Ywh&>(gsbuDrAU?$+No!9ZSkB`9IS#fl^AJK-I1NcST`;LRvBSWOGB}ZOxVf2myku{iqs@%Fl@cfBI3ia9w|j-LqGX*64nS}qsnp|b zW4KEzlk?3nZICSDK!I?384!end*gCcIK#v{UB*pP&WphL98b6rE?~EK@mSj!PAfD{ zM`K_(qRjrE;lxupNj`XWLlc`H?%?#`;c&oM;>CJNvQMHr98tW4CRr@7%^t+gRVJjP16uzB3oc z+s67%RBW}4^_`d4Y#Zx44RNe(tnaMDM%!55Nrv^dvA%N(Yi(nFrw~@##`?|}th9~w zogi3#wrSlrZ?*1y=L4Ga|1%id-}}zqBfGz>^Z#}Jzs~>H`TsiqKN-KQ^Z#}Jzs~H`F}C0^Z#}Jzs~>H`Tq~!{J+?5emGu_C5@EeMAIM9YWDxDyHC&e|F`RL zXI)oipfXSys0>sFDg%{)%0OkHGEf<)4D@H<@LcCd*73lcUelzrpO7crJlz0~XkmPW zrvNEAdoso29k{;prfoPk7BptK&1dm&q}h`x9_zsMok*R-;puf^EX0`j2v3D`V)o3G YvmLm;Gph@5c \u001b[39m\u001b[32m5\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mwatchdog\u001b[39;00m\n\u001b[32m 7\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mnbconvert\u001b[39;00m\n\u001b[32m 9\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mnbformat\u001b[39;00m\n", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[1]\u001b[39m\u001b[32m, line 9\u001b[39m\n\u001b[32m 5\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mnbconvert\u001b[39;00m\n\u001b[32m 7\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mnbformat\u001b[39;00m\n\u001b[32m----> \u001b[39m\u001b[32m9\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mwatchdog\u001b[39;00m\n", "\u001b[31mModuleNotFoundError\u001b[39m: No module named 'watchdog'" ] } @@ -23,11 +23,11 @@ "\n", "import tomlkit\n", "\n", - "import watchdog\n", - "\n", "import nbconvert\n", "\n", - "import nbformat" + "import nbformat\n", + "\n", + "import watchdog\n" ] }, { @@ -55,7 +55,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.13.5" + "version": "3.13.9" } }, "nbformat": 4, diff --git a/s.sh b/s.sh index b0b63b4..78c27f0 100755 --- a/s.sh +++ b/s.sh @@ -1,18 +1,36 @@ #!/bin/bash +# +# This script creates the venv and then starts JupyterLab +# The other script, t.sh, starts JupyterLab using an existing venv + if [ -d .venv ]; then - rm -rf .venv + rm -rf .venv 2>/dev/null + rm -rf .venv 2>/dev/null fi -python3 -m venv .venv --upgrade-deps +# UNAMESTR=$(uname) +if [ "$(uname)" = 'Darwin' ]; then + # echo "Using $which(python3) to create venv" + echo "Using $(python3 --version) to create venv" + python3 -m venv .venv --upgrade-deps +else + echo "Using $(python --version) to create venv" + python -m venv .venv --upgrade-deps +fi +echo "" +# Set environment variables that JupyterLab will use to find config data export JUPYTERLAB_SETTINGS_DIR="${PWD}/.jupyter/lab/user-settings" export JUPYTER_DATA_DIR="${PWD}/.jupyter/data" export JUPYTER_CONFIG_DIR="${PWD}/.jupyter" -. .venv/bin/activate +# Activate the virtual environment +if [ "$(uname)" = 'Darwin' ]; then + . .venv/bin/activate +else + . .venv/Scripts/activate +fi pip install -r requirements.txt -# pip install --no-index --find-links ./.local-libraries tufte -# pip install --no-index --find-links ./.local-libraries clear-run-to-selected jupyter lab diff --git a/t.sh b/t.sh index ce89df6..e375a4d 100755 --- a/t.sh +++ b/t.sh @@ -1,7 +1,18 @@ #!/bin/bash +# +# Set environment variables export JUPYTERLAB_SETTINGS_DIR="${PWD}/.jupyter/lab/user-settings" export JUPYTER_DATA_DIR="${PWD}/.jupyter/data" export JUPYTER_CONFIG_DIR="${PWD}/.jupyter" export VIRTUAL_ENV_PROMPT=.venv -export PATH=".venv/bin:$PATH" + +# Set PATH to executables folder under .venv +# +# if [ "${UNAMESTR}" = 'Darwin' ]; then + export PATH=".venv/bin:$PATH" +else + export PATH=".venv/Scripts:$PATH" +fi + + jupyter lab