specify for both platforms

This commit is contained in:
Paul Romer 2025-10-22 11:05:23 -04:00
parent ce48a2b735
commit ee21831bb7
14 changed files with 44 additions and 21 deletions

4
.gitignore vendored
View file

@ -1,3 +1,5 @@
.ipynb_checkpoints
.venv
.jupyter/data
.virtual_documents
.jupyter/lab/workspaces

Binary file not shown.

View file

@ -1 +0,0 @@
{"data":{"file-browser-filebrowser:columns":{"sizes":{"name":139.5,"file_size":null,"is_selected":18,"last_modified":86.5}},"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":2,"widgets":["notebook:Files/Using_pylock.ipynb","terminal:1","editor:pylock.toml","editor:Files/requirements.txt","editor:requirements.in","notebook:Files/test_imports.ipynb"]},"current":"terminal:1"},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin"],"widgetStates":{"jp-running-sessions":{"sizes":[0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666],"expansionStates":[false,false,false,false,false,false]}}},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector"],"widgetStates":{}},"relativeSizes":[0.180835734870317,0.819164265129683,0],"top":{"simpleVisibility":true}},"docmanager:recents":{"opened":[{"path":"","contentType":"directory","root":"~/jl_0"},{"path":"requirements.in","contentType":"file","factory":"Editor","root":"~/jl_0"},{"path":"pylock.toml","contentType":"file","factory":"Editor","root":"~/jl_0"},{"path":"requirements.txt","contentType":"file","factory":"Editor","root":"~/jl_0"},{"path":"Files","contentType":"directory","root":"~/jl_0"},{"path":"Files/requirements.txt","contentType":"file","factory":"Editor","root":"~/jl_0"},{"path":"Files/Using_pylock.ipynb","contentType":"notebook","factory":"Notebook","root":"~/jl_0"},{"path":"Files/test_imports.ipynb","contentType":"notebook","factory":"Notebook","root":"~/jl_0"},{"path":"test_2.py","contentType":"file","factory":"Editor","root":"~/jl_0"},{"path":"Files/Untitled.ipynb","contentType":"notebook","factory":"Notebook","root":"~/jl_0"}],"closed":[{"path":"requirements.txt","contentType":"file","factory":"Editor","root":"~/jl_0"},{"path":"Files/Untitled.ipynb","contentType":"notebook","factory":"Notebook","root":"~/jl_0"},{"path":"Using_pylock.ipynb","contentType":"notebook","factory":"Notebook","root":"~/jl_0"}]},"file-browser-filebrowser:cwd":{"path":""},"notebook:Files/Using_pylock.ipynb":{"data":{"path":"Files/Using_pylock.ipynb","factory":"Notebook"}},"notebook:Files/test_imports.ipynb":{"data":{"path":"Files/test_imports.ipynb","factory":"Notebook"}},"terminal:1":{"data":{"name":"1"}},"editor:Files/requirements.txt":{"data":{"path":"Files/requirements.txt","factory":"Editor"}},"editor:requirements.in":{"data":{"path":"requirements.in","factory":"Editor"}},"editor:pylock.toml":{"data":{"path":"pylock.toml","factory":"Editor"}}},"metadata":{"id":"auto-0"}}

View file

@ -1 +0,0 @@
{"data":{"file-browser-filebrowser:columns":{"sizes":{"name":139.5,"file_size":null,"is_selected":18,"last_modified":86.5}},"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":1,"widgets":["terminal:1","editor:Files/jl_w_pylock.txt","notebook:Files/test_imports.ipynb","editor:Files/requirements.txt","notebook:Files/Using_pylock.ipynb"]},"current":"editor:Files/jl_w_pylock.txt"},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin"],"widgetStates":{"jp-running-sessions":{"sizes":[0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666],"expansionStates":[false,false,false,false,false,false]}}},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector"],"widgetStates":{}},"relativeSizes":[0.180835734870317,0.819164265129683,0],"top":{"simpleVisibility":true}},"docmanager:recents":{"opened":[{"path":"Files","contentType":"directory","root":"~/jl_1"},{"path":"Files/jl_w_pylock.txt","contentType":"file","factory":"Editor","root":"~/jl_1"},{"path":"Files/setup_jl.txt","contentType":"file","factory":"Editor","root":"~/jl_1"},{"path":"Files/untitled.txt","contentType":"file","factory":"Editor","root":"~/jl_1"},{"path":"Files/test_imports.ipynb","contentType":"notebook","factory":"Notebook","root":"~/jl_1"},{"path":"Files/Using_pylock.ipynb","contentType":"notebook","factory":"Notebook","root":"~/jl_1"},{"path":"Files/requirements.txt","contentType":"file","factory":"Editor","root":"~/jl_1"}],"closed":[{"path":"Files/untitled.txt","contentType":"file","factory":"Editor","root":"~/jl_1"}]},"terminal:1":{"data":{"name":"1"}},"notebook:Files/test_imports.ipynb":{"data":{"path":"Files/test_imports.ipynb","factory":"Notebook"}},"notebook:Files/Using_pylock.ipynb":{"data":{"path":"Files/Using_pylock.ipynb","factory":"Notebook"}},"editor:Files/requirements.txt":{"data":{"path":"Files/requirements.txt","factory":"Editor"}},"editor:Files/jl_w_pylock.txt":{"data":{"path":"Files/jl_w_pylock.txt","factory":"Editor"}}},"metadata":{"id":"auto-D"}}

View file

@ -1 +0,0 @@
{"data":{"file-browser-filebrowser:columns":{"sizes":{"name":53.5,"file_size":null,"is_selected":18,"last_modified":40.5}},"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":0,"widgets":["terminal:1"]}},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin"],"widgetStates":{"jp-running-sessions":{"sizes":[0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666],"expansionStates":[false,false,false,false,false,false]}}},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector"],"widgetStates":{}},"relativeSizes":[0.18092832869257522,0.8190716713074248,0],"top":{"simpleVisibility":true}},"docmanager:recents":{"opened":[],"closed":[]},"terminal:1":{"data":{"name":"1"}}},"metadata":{"id":"auto-e"}}

View file

@ -1 +0,0 @@
{"data":{"file-browser-filebrowser:columns":{"sizes":{"name":53.5,"file_size":null,"is_selected":18,"last_modified":40.5}},"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":1,"widgets":["notebook:Files/test_imports.ipynb","editor:Files/untitled.txt","terminal:1"]}},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin"],"widgetStates":{"jp-running-sessions":{"sizes":[0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666],"expansionStates":[false,false,false,false,false,false]}}},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector"],"widgetStates":{}},"relativeSizes":[0.18092832869257522,0.8190716713074248,0],"top":{"simpleVisibility":true}},"docmanager:recents":{"opened":[{"path":"Files","contentType":"directory","root":"~/jl_1"},{"path":"Files/untitled.txt","contentType":"file","factory":"Editor","root":"~/jl_1"},{"path":"Files/test_imports.ipynb","contentType":"notebook","factory":"Notebook","root":"~/jl_1"}],"closed":[]},"notebook:Files/test_imports.ipynb":{"data":{"path":"Files/test_imports.ipynb","factory":"Notebook"}},"editor:Files/untitled.txt":{"data":{"path":"Files/untitled.txt","factory":"Editor"}},"terminal:1":{"data":{"name":"1"}}},"metadata":{"id":"auto-f"}}

View file

@ -1 +0,0 @@
{"data":{"file-browser-filebrowser:columns":{"sizes":{"name":139.5,"file_size":null,"is_selected":18,"last_modified":86.5}},"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":0,"widgets":[]}},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin"],"widgetStates":{"jp-running-sessions":{"sizes":[0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666],"expansionStates":[false,false,false,false,false,false]}}},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector"],"widgetStates":{}},"relativeSizes":[0.2040650406504065,0.7959349593495935,0],"top":{"simpleVisibility":true}},"docmanager:recents":{"opened":[],"closed":[]}},"metadata":{"id":"auto-I"}}

View file

@ -1 +0,0 @@
{"data":{"file-browser-filebrowser:columns":{"sizes":{"name":139.5,"file_size":null,"is_selected":18,"last_modified":86.5}},"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":0,"widgets":[]}},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin"],"widgetStates":{"jp-running-sessions":{"sizes":[0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666],"expansionStates":[false,false,false,false,false,false]}}},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector"],"widgetStates":{}},"relativeSizes":[0.17370242214532872,0.8262975778546713,0],"top":{"simpleVisibility":true}},"docmanager:recents":{"opened":[],"closed":[]},"file-browser-filebrowser:cwd":{"path":""}},"metadata":{"id":"auto-L"}}

View file

@ -1 +0,0 @@
{"data":{"file-browser-filebrowser:columns":{"sizes":{"name":139.5,"file_size":null,"is_selected":18,"last_modified":86.5}},"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":0,"widgets":[]}},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin"],"widgetStates":{"jp-running-sessions":{"sizes":[0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666],"expansionStates":[false,false,false,false,false,false]}}},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector"],"widgetStates":{}},"relativeSizes":[0.2040650406504065,0.7959349593495935,0],"top":{"simpleVisibility":true}},"docmanager:recents":{"opened":[],"closed":[]}},"metadata":{"id":"auto-Q"}}

View file

@ -1 +0,0 @@
{"data":{"file-browser-filebrowser:columns":{"sizes":{"name":155.25,"file_size":null,"is_selected":18,"last_modified":91.75}},"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":0,"widgets":[]}},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin"],"widgetStates":{"jp-running-sessions":{"sizes":[0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666],"expansionStates":[false,false,false,false,false,false]}}},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector"],"widgetStates":{}},"relativeSizes":[0.22153574580759047,0.7784642541924095,0],"top":{"simpleVisibility":true}},"docmanager:recents":{"opened":[{"path":"Files","contentType":"directory","root":"~/jl_0"},{"path":"","contentType":"directory","root":"~/jl_0"},{"path":"s.sh","contentType":"file","factory":"Editor","root":"~/jl_0"}],"closed":[{"path":"s.sh","contentType":"file","factory":"Editor","root":"~/jl_0"}]},"file-browser-filebrowser:cwd":{"path":"Files"}},"metadata":{"id":"default"}}

View file

@ -118,7 +118,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.13.5"
"version": "3.13.9"
}
},
"nbformat": 4,

View file

@ -13,7 +13,7 @@
"traceback": [
"\u001b[31m---------------------------------------------------------------------------\u001b[39m",
"\u001b[31mModuleNotFoundError\u001b[39m Traceback (most recent call last)",
"\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[1]\u001b[39m\u001b[32m, line 5\u001b[39m\n\u001b[32m 1\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mpyjson5\u001b[39;00m\n\u001b[32m 3\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mtomlkit\u001b[39;00m\n\u001b[32m----> \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,

24
s.sh
View file

@ -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
# 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"
# 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

11
t.sh
View file

@ -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
# 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