问题描述
遇到了如何在 Python 3.7.1 for sql 2017 (CU22) 下安装 Install NLTK python 模块的问题,但无法直接访问互联网(即离线)。
那么如何做到这一点?
解决方法
这是一个似乎可以正常工作的方法:
(1) 转到 https://github.com/nltk/nltk_data/archive/refs/heads/gh-pages.zip 并下载 zip 文件 (600 MB)。
(2) 深入 zip 文件,找到位于以下位置的所需包:
nltk_data-gh-pages.zip\nltk_data-gh-pages\packages\
(3) 创建目录
C:\ntlk_data ( this is a default search path for nltk )
-
或 -
D:\Program Files\Microsoft SQL Server\MSSQL14.instance_name>\PYTHON_SERVICES.3.7\nltk_data
(4) 对于 package/s,复制 .zip 文件及其 .XML 文件,然后解压 .zip 文件,使其成为未压缩的目录。
例如 punkt 模块,最终形式应如下所示:
c:\nltk_data\tokenizers\punkt.zip
c:\nltk_data\tokenizers\punkt\<and_sub_dirs_and_files>
c:\nltk_data\tokenizers\punkt.xml
(5) 运行TSQL代码确认可以看到punkt模块:
EXECUTE sp_execute_external_script
@language = N'Python',@script =N'
import nltk
x = nltk.data.find("tokenizers/punkt")
print(x)
'
如果它可以看到磁盘上的 punkt 模块,你应该得到类似的输出:
STDOUT message(s) from external script:
Express Edition will continue to be enforced.
C:\nltk_data\tokenizers\punkt\PY3
某人!