feat(jupyter): switch from pip3 to pipx for Jupyter install (#294)
This commit is contained in:
committed by
GitHub
parent
93c4fb3a8d
commit
e11b19d33e
@@ -22,7 +22,7 @@ const executeScriptInContainerWithPip = async (
|
||||
}> => {
|
||||
const instance = findResourceInstance(state, "coder_script");
|
||||
const id = await runContainer(image);
|
||||
const respPip = await execContainer(id, [shell, "-c", "apk add py3-pip"]);
|
||||
const respPipx = await execContainer(id, [shell, "-c", "apk add pipx"]);
|
||||
const resp = await execContainer(id, [shell, "-c", instance.script]);
|
||||
const stdout = resp.stdout.trim().split("\n");
|
||||
const stderr = resp.stderr.trim().split("\n");
|
||||
@@ -40,7 +40,7 @@ describe("jupyterlab", async () => {
|
||||
agent_id: "foo",
|
||||
});
|
||||
|
||||
it("fails without pip3", async () => {
|
||||
it("fails without pipx", async () => {
|
||||
const state = await runTerraformApply(import.meta.dir, {
|
||||
agent_id: "foo",
|
||||
});
|
||||
@@ -48,14 +48,14 @@ describe("jupyterlab", async () => {
|
||||
expect(output.exitCode).toBe(1);
|
||||
expect(output.stdout).toEqual([
|
||||
"\u001B[0;1mInstalling jupyterlab!",
|
||||
"pip3 is not installed",
|
||||
"Please install pip3 in your Dockerfile/VM image before running this script",
|
||||
"pipx is not installed",
|
||||
"Please install pipx in your Dockerfile/VM image before running this script",
|
||||
]);
|
||||
});
|
||||
|
||||
// TODO: Add faster test to run with pip3.
|
||||
// TODO: Add faster test to run with pipx.
|
||||
// currently times out.
|
||||
// it("runs with pip3", async () => {
|
||||
// it("runs with pipx", async () => {
|
||||
// ...
|
||||
// const output = await executeScriptInContainerWithPip(state, "alpine");
|
||||
// ...
|
||||
|
||||
@@ -7,14 +7,14 @@ printf "$${BOLD}Installing jupyterlab!\n"
|
||||
# check if jupyterlab is installed
|
||||
if ! command -v jupyterlab > /dev/null 2>&1; then
|
||||
# install jupyterlab
|
||||
# check if python3 pip is installed
|
||||
if ! command -v pip3 > /dev/null 2>&1; then
|
||||
echo "pip3 is not installed"
|
||||
echo "Please install pip3 in your Dockerfile/VM image before running this script"
|
||||
# check if pipx is installed
|
||||
if ! command -v pipx > /dev/null 2>&1; then
|
||||
echo "pipx is not installed"
|
||||
echo "Please install pipx in your Dockerfile/VM image before running this script"
|
||||
exit 1
|
||||
fi
|
||||
# install jupyterlab
|
||||
pip3 install --upgrade --no-cache-dir --no-warn-script-location jupyterlab
|
||||
pipx install -q jupyterlab
|
||||
echo "🥳 jupyterlab has been installed\n\n"
|
||||
else
|
||||
echo "🥳 jupyterlab is already installed\n\n"
|
||||
@@ -22,4 +22,4 @@ fi
|
||||
|
||||
echo "👷 Starting jupyterlab in background..."
|
||||
echo "check logs at ${LOG_PATH}"
|
||||
$HOME/.local/bin/jupyter lab --ServerApp.ip='0.0.0.0' --ServerApp.port=${PORT} --no-browser --ServerApp.token='' --ServerApp.password='' > ${LOG_PATH} 2>&1 &
|
||||
$HOME/.local/bin/jupyter-lab --ServerApp.ip='0.0.0.0' --ServerApp.port=${PORT} --no-browser --ServerApp.token='' --ServerApp.password='' > ${LOG_PATH} 2>&1 &
|
||||
|
||||
Reference in New Issue
Block a user