在 Azure Data Studio Notebook 中离线安装 Powershell 内核

问题描述

我想在 Azure Data Studio 中使用 Powershell 内核创建一个 Notebook。为了在我的个人笔记本电脑上执行此操作,我确实在 ADS 中选择了 Powershell 内核并遵循了接下来的几个步骤。据我所知,这些步骤首先下载并安装了 Python,然后他们下载并安装了 Powershell 内核(并且可能将两者链接在一起?)。

我想在我的工作笔记本电脑上执行此操作,但不幸的是 Azure Data Studio 被阻止访问 Internet(错误是安装笔记本依赖项失败,错误为:ETIMEDOUT。)我认为我应该能够完成所有这些通过下载所有必需的文件,然后手动安装它们...我已经下载并安装了 python-3.9.2,我现在可以将其用作 ADS 中现有的 Python 安装。 ADS 的下一步是第 2 步:安装依赖项,它要求我安装两个内核:jupyter 1.0.0 和 powershell-kernel 0.1.4。如果我点击下一步,它会尝试通过它的外观下载它们。这是输出窗口中显示内容

笔记本依赖安装正在进行中 > "c:\Users\my_username\AppData\Local\Programs\Python\python39\python.exe" -m pip install --user "jupyter>=1.0.0" "powershell-kernel>=0.1.4" 标准错误:警告:在连接被 'ConnectTimeoutError(,'连接到 pypi.org 超时。(连接超时 = 15)')':/simple/jupyter/ 标准错误

如果我去 pypi.org,我可以下载这些内核(jupyter-1.0.0.tar.gz 和 jupyter-powershell-0.1.4.tar.gz),但我不知道如何下载安装它们或让 ADS 知道它们。有没有人有任何乐趣尝试这样做?顺便说一下,我使用的是 Windows 10。

感谢您的帮助!

解决方法

我已经设法在这里回答了我自己的问题,我将记录我所做的事情,以帮助将来遇到同样问题的任何人。我想明确指出,我只是想在不允许 Azure Data Studio 访问 Internet 的机器上使用 Azure Data Studio 中的 Powershell 内核。下面的一切都是达到目的的手段,如果我真的诚实,我并不完全理解这一切。

*这些步骤需要互联网

  1. 安装 Python(3.9.2 64 位),确保将 Python 添加到 PATH。我也为所有用户安装了。

  2. 从命令提示符运行以下命令:

     python -m pip install wheel
     python -m pip install pywinpty
    

当你安装 pywinpty 时,它会创建一个名为 pywinpty-0.5.7-py3-none-any.whl 的文件,它会告诉你这个文件在输出中的保存位置。这是它在我的屏幕上说的:

为pywinpty创建轮子:filename=pywinpty-0.5.7-py3-none-any.whl size=10348 sha256=c45cdc7832a02aae8a6c96b7d2861185ffa2bb86d71b66eae0e7a329 存放在目录:c:\users\administrator\appdata\local\pip\cache\wheels\53\76\53\01b01d6a997218adc05f673cd87078b0f3d5fbbe5b9ed7103b

复制 pywinpty-0.5.7-py3-none-any.whl 并保存以备后用。

  1. 从命令提示符运行以下命令:

     python -m pip download pip -d "c:\python_modules"
     python -m pip download setuptools -d "c:\python_modules"
     python -m pip download powershell-kernel -d "c:\python_modules"
     python -m pip download jupyter -d "c:\python_modules"
    

在此之后,您应该在 c:\python_modules 中有很多文件(我有 58 个)。出于某种原因,我在尝试安装 pywinpty(它是 jupyter 模块的依赖项)时遇到了 c:\python_modules\pywinpty-0.5.7.ta​​r.gz 的问题,所以我们应该删除 c:\python_modules\pywinpty-0.5 .7.ta​​r.gz 并将其替换为我们之前保存的 pywinpty-0.5.7-py3-none-any.whl。这就是我们必须安装wheel模块的原因,因为在没有安装wheel模块的情况下运行时,它没有创建任何文件(虽然它确实安装了该模块,但需要互联网是我们想要做的没有)。

此时,我们不再需要互联网了。接下来,转到我们的非互联网计算机并执行以下步骤:

  1. 安装 Python(3.9.2 64 位),确保将 Python 添加到 PATH。我也为所有用户安装了。

  2. 将 c:\python_modules 文件夹和内容复制到我们的非互联网计算机。

  3. 从命令提示符运行以下命令:

     python -m pip install pip --upgrade --no-index --find-links "c:\python_modules"
     python -m pip install setuptools --upgrade --no-index --find-links "c:\python_modules"
     python -m pip install powershell-kernel --no-index --find-links "c:\python_modules"
     python -m pip install jupyter --no-index --find-links "c:\python_modules"
    
  4. 打开 Azure 数据工作室。打开一个新的 Notebook 并将内核更改为 Powershell。通过向导来 1. 配置 python 运行时和 2. 安装依赖项。安装依赖项时,它应该跳过所有内容,因为我们之前已经手动安装了所有内容。

应该是这样!顺便说一句,如果您确实可以访问互联网,那么最后一步(第 4 步)是您唯一应该做的事情。这表明互联网是多么酷和多么有用。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...