mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-04-01 17:40:30 -04:00
Ensure Notebook v6 Pip Package Installed (#24180)
* Force notebook v6 * Ensure installExactVersion * Fix jupyter installation tests
This commit is contained in:
@@ -83,6 +83,12 @@ export const requiredJupyterPkg: PythonPkgDetails = {
|
||||
version: '1.0.0'
|
||||
};
|
||||
|
||||
export const requiredNotebookPkg: PythonPkgDetails = {
|
||||
name: 'notebook',
|
||||
version: '6.5.5',
|
||||
installExactVersion: true
|
||||
};
|
||||
|
||||
export const requiredPowershellPkg: PythonPkgDetails = {
|
||||
name: 'powershell-kernel',
|
||||
version: '0.1.4'
|
||||
@@ -143,11 +149,11 @@ export class JupyterServerInstallation implements IJupyterServerInstallation {
|
||||
this._kernelSetupCache = new Map<string, boolean>();
|
||||
this._requiredKernelPackages = new Map<string, PythonPkgDetails[]>();
|
||||
|
||||
this._requiredKernelPackages.set(constants.ipykernelDisplayName, [requiredJupyterPkg]);
|
||||
this._requiredKernelPackages.set(constants.python3DisplayName, [requiredJupyterPkg]);
|
||||
this._requiredKernelPackages.set(constants.powershellDisplayName, [requiredJupyterPkg, requiredPowershellPkg]);
|
||||
this._requiredKernelPackages.set(constants.ipykernelDisplayName, [requiredJupyterPkg, requiredNotebookPkg]);
|
||||
this._requiredKernelPackages.set(constants.python3DisplayName, [requiredJupyterPkg, requiredNotebookPkg]);
|
||||
this._requiredKernelPackages.set(constants.powershellDisplayName, [requiredJupyterPkg, requiredPowershellPkg, requiredNotebookPkg]);
|
||||
|
||||
let allPackages = [requiredJupyterPkg, requiredPowershellPkg];
|
||||
let allPackages = [requiredJupyterPkg, requiredNotebookPkg, requiredPowershellPkg];
|
||||
this._requiredKernelPackages.set(constants.allKernelsName, allPackages);
|
||||
|
||||
this._requiredPackagesSet = new Set<string>();
|
||||
@@ -542,7 +548,7 @@ export class JupyterServerInstallation implements IJupyterServerInstallation {
|
||||
let requiredPackages = this.getRequiredPackagesForKernel(kernelDisplayName);
|
||||
for (let pkg of requiredPackages) {
|
||||
let installedVersion = installedPackageMap.get(pkg.name);
|
||||
if (!installedVersion || utils.compareVersions(installedVersion, pkg.version) < 0) {
|
||||
if (!installedVersion || utils.compareVersions(installedVersion, pkg.version) < 0 || (pkg.installExactVersion && installedVersion !== pkg.version)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -563,7 +569,7 @@ export class JupyterServerInstallation implements IJupyterServerInstallation {
|
||||
|
||||
packages.forEach(pkg => {
|
||||
let installedPkgVersion = pipVersionMap.get(pkg.name);
|
||||
if (!installedPkgVersion || utils.compareVersions(installedPkgVersion, pkg.version) < 0) {
|
||||
if (!installedPkgVersion || utils.compareVersions(installedPkgVersion, pkg.version) < 0 || (pkg.installExactVersion && installedPkgVersion !== pkg.version)) {
|
||||
packagesToInstall.push(pkg);
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user