From e0592c10d94bee8e4c3cb4fe327150ce7b214ff4 Mon Sep 17 00:00:00 2001 From: Lucy Zhang Date: Fri, 15 Sep 2023 11:12:26 -0700 Subject: [PATCH] Pin traitlets package to v5.9.0 (#24444) * pin traitlets pkg to v5.9.0 * add links to github issue --- .../src/jupyter/jupyterServerInstallation.ts | 17 +++++++++++++---- .../src/test/python/jupyterInstallation.test.ts | 6 +++--- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/extensions/notebook/src/jupyter/jupyterServerInstallation.ts b/extensions/notebook/src/jupyter/jupyterServerInstallation.ts index 080596f3f6..bb70708298 100644 --- a/extensions/notebook/src/jupyter/jupyterServerInstallation.ts +++ b/extensions/notebook/src/jupyter/jupyterServerInstallation.ts @@ -83,18 +83,27 @@ export const requiredJupyterPkg: PythonPkgDetails = { version: '1.0.0' }; +// https://github.com/microsoft/azuredatastudio/issues/23945 export const requiredNotebookPkg: PythonPkgDetails = { name: 'notebook', version: '6.5.5', installExactVersion: true }; +// https://github.com/microsoft/azuredatastudio/issues/24405 export const requiredIpykernelPkg: PythonPkgDetails = { name: 'ipykernel', version: '5.5.5', installExactVersion: true }; +// https://github.com/microsoft/azuredatastudio/issues/24443 +export const requiredTraitletsPkg: PythonPkgDetails = { + name: 'traitlets', + version: '5.9.0', + installExactVersion: true +}; + export const requiredPowershellPkg: PythonPkgDetails = { name: 'powershell-kernel', version: '0.1.4' @@ -155,11 +164,11 @@ export class JupyterServerInstallation implements IJupyterServerInstallation { this._kernelSetupCache = new Map(); this._requiredKernelPackages = new Map(); - this._requiredKernelPackages.set(constants.ipykernelDisplayName, [requiredJupyterPkg, requiredNotebookPkg, requiredIpykernelPkg]); - this._requiredKernelPackages.set(constants.python3DisplayName, [requiredJupyterPkg, requiredNotebookPkg, requiredIpykernelPkg]); - this._requiredKernelPackages.set(constants.powershellDisplayName, [requiredJupyterPkg, requiredPowershellPkg, requiredNotebookPkg, requiredIpykernelPkg]); + this._requiredKernelPackages.set(constants.ipykernelDisplayName, [requiredJupyterPkg, requiredNotebookPkg, requiredIpykernelPkg, requiredTraitletsPkg]); + this._requiredKernelPackages.set(constants.python3DisplayName, [requiredJupyterPkg, requiredNotebookPkg, requiredIpykernelPkg, requiredTraitletsPkg]); + this._requiredKernelPackages.set(constants.powershellDisplayName, [requiredJupyterPkg, requiredPowershellPkg, requiredNotebookPkg, requiredIpykernelPkg, requiredTraitletsPkg]); - let allPackages = [requiredJupyterPkg, requiredNotebookPkg, requiredIpykernelPkg, requiredPowershellPkg]; + let allPackages = [requiredJupyterPkg, requiredNotebookPkg, requiredIpykernelPkg, requiredTraitletsPkg, requiredPowershellPkg]; this._requiredKernelPackages.set(constants.allKernelsName, allPackages); this._requiredPackagesSet = new Set(); diff --git a/extensions/notebook/src/test/python/jupyterInstallation.test.ts b/extensions/notebook/src/test/python/jupyterInstallation.test.ts index 8d5f8d339c..6b902b1e5d 100644 --- a/extensions/notebook/src/test/python/jupyterInstallation.test.ts +++ b/extensions/notebook/src/test/python/jupyterInstallation.test.ts @@ -11,7 +11,7 @@ import * as uuid from 'uuid'; import * as fs from 'fs-extra'; import * as request from 'request'; import * as utils from '../../common/utils'; -import { requiredJupyterPkg, JupyterServerInstallation, requiredPowershellPkg, PythonInstallSettings, PythonPkgDetails, requiredNotebookPkg, requiredIpykernelPkg } from '../../jupyter/jupyterServerInstallation'; +import { requiredJupyterPkg, JupyterServerInstallation, requiredPowershellPkg, PythonInstallSettings, PythonPkgDetails, requiredNotebookPkg, requiredIpykernelPkg, requiredTraitletsPkg } from '../../jupyter/jupyterServerInstallation'; import { powershellDisplayName, python3DisplayName, winPlatform } from '../../common/constants'; describe('Jupyter Server Installation', function () { @@ -226,12 +226,12 @@ describe('Jupyter Server Installation', function () { it('Get required packages test - Python 3 kernel', async function () { let packages = installation.getRequiredPackagesForKernel(python3DisplayName); - should(packages).be.deepEqual([requiredJupyterPkg, requiredNotebookPkg, requiredIpykernelPkg]); + should(packages).be.deepEqual([requiredJupyterPkg, requiredNotebookPkg, requiredIpykernelPkg, requiredTraitletsPkg]); }); it('Get required packages test - Powershell kernel', async function () { let packages = installation.getRequiredPackagesForKernel(powershellDisplayName); - should(packages).be.deepEqual([requiredJupyterPkg, requiredPowershellPkg, requiredNotebookPkg, requiredIpykernelPkg]); + should(packages).be.deepEqual([requiredJupyterPkg, requiredPowershellPkg, requiredNotebookPkg, requiredIpykernelPkg, requiredTraitletsPkg]); }); it('Install python test - Run install while Python is already running', async function () {